elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque  (Leído 3,297 veces)
spiritdead

Desconectado Desconectado

Mensajes: 296


Ver Perfil
[MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« en: 24 Diciembre 2012, 11:51 am »

buenas tardes a todos
en el dia de hoy, os enseñare como detectar esos dichosos bugs de arranque q ni el mismo visual studio te los ubica :P dando por error

--> Error desconocido, cerrando la aplicacion <--

suelen suceder al migrar la aplicacion a otras pcs y a veces se les olvidan librerias, o alguna incompatibilidad no administrada por el desarrollador

a la hora de atacar dichos problemas siempre debemos tener a mano un Sub modulo de arranque, que monitoree el arranque principal

porque ? porque el submodulo tendria 1 metodo de captado de error, q al ejecutar el verdadero hilo (hilo-padre) y falle directamente el submodulo lo detecte e informe para su rapido fix

suelen denominarse Versiones Debug o para detectar errores

os dejo esta pequeña muestra de codigo

Código
  1. 'usada para testear errores de thread en caso de emergencia usar
  2. 'cuando se use este submain para analisis de bugs de arranque debemos apagar en las propiedades la opcion (habilitar el marco de trabajo de la aplicacion)
  3. 'al terminar de reparar el bug debemos volver habilitarle!
  4. Public Class submain
  5.    <STAThread()> _
  6.    Friend Shared Sub Main()
  7.  
  8.        Application.EnableVisualStyles()
  9.        Application.SetCompatibleTextRenderingDefault(False)
  10.  
  11.        AddHandler Application.ThreadException, AddressOf Application_ThreadException
  12.        'Added this
  13.        AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledExceptionEventRaised
  14.        Application.Run(New Form1())
  15.  
  16.    End Sub
  17.  
  18.    Private Shared Sub Application_ThreadException(ByVal sender As Object, ByVal e As System.Threading.ThreadExceptionEventArgs)
  19.  
  20.        MessageBox.Show(e.Exception.Message)
  21.  
  22.    End Sub
  23.    'Added this
  24.    Private Shared Sub UnhandledExceptionEventRaised(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
  25.        If e.IsTerminating Then
  26.            Dim o As Object = e.ExceptionObject
  27.            MessageBox.Show(o.ToString) ' use EventLog instead
  28.        End If
  29.    End Sub
  30.  
  31. End Class
  32.  

esta clase, para que puedan ejecutarle como metodo principal de arranque, en las propiedades de vuestro proyecto deben desactivar la opcion  habilitar el marco de trabajo de la aplicacion

con ese tremendo submain, pueden detectar el 100% de los errores ocultos en el arranque, ideal para esas pcs q no les quiere correr vuestro soft y necesitan a fuerza bruta hacer salir el error y lograr repararle :)

disfrutenlo ;)

yo siempre guardo este submain en mis proyectos, y tengo mis versiones debugger para las pcs problematicas ;)

saludos


En línea

Facilitador De Tareas - Task Simplifier (FDT)
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« Respuesta #1 en: 26 Diciembre 2012, 20:51 pm »

Gracias por colgarlo, jugare con ello un poquillo a ver como luce.

Saludos!


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« Respuesta #2 en: 26 Diciembre 2012, 21:15 pm »

es lo mismo si pones un try catch en el sub_main, tiene el mismo efecto, si surge un error en la aplicacion salta al sub_main, yo lo tengo asi en una aplicacion.

saludos.
En línea

spiritdead

Desconectado Desconectado

Mensajes: 296


Ver Perfil
Re: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« Respuesta #3 en: 26 Diciembre 2012, 21:42 pm »

es lo mismo si pones un try catch en el sub_main, tiene el mismo efecto, si surge un error en la aplicacion salta al sub_main, yo lo tengo asi en una aplicacion.

saludos.

a veces usando 1 solo try no obtienes los errores bien detallados, esta es otra forma asignandole eventos asi puedes capturar multiples tipos de errores y obtener respuestas mas exactas

xD muchas formas de verle
En línea

Facilitador De Tareas - Task Simplifier (FDT)
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« Respuesta #4 en: 26 Diciembre 2012, 22:16 pm »

Discrepo, con un try/catch si se obtienen los errores detallados, lo que ocurre es que muchas veces en el manejo de errores se pierde el InnerException por ejemplo

Código
  1. try
  2. {
  3.  
  4. }
  5. catch(Exception ex)
  6. {
  7.    throw ex;
  8. }
!=
Código
  1. try
  2. {
  3.  
  4. }
  5. catch
  6. {
  7.    throw;
  8. }

Esos fragmentos de código no siempre son iguales :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
spiritdead

Desconectado Desconectado

Mensajes: 296


Ver Perfil
Re: [MEGA APORTE][source] Como detectar errores de hilo padre en prearranque
« Respuesta #5 en: 26 Diciembre 2012, 22:42 pm »

Discrepo, con un try/catch si se obtienen los errores detallados, lo que ocurre es que muchas veces en el manejo de errores se pierde el InnerException por ejemplo

Código
  1. try
  2. {
  3.  
  4. }
  5. catch(Exception ex)
  6. {
  7.    throw ex;
  8. }
!=
Código
  1. try
  2. {
  3.  
  4. }
  5. catch
  6. {
  7.    throw;
  8. }

Esos fragmentos de código no siempre son iguales :P

Saludos

xD hay muchas formas de ponerlo :P yo decanto mas por eventos controlados :P en estas cosas  y en cosas pequeñas el try-catch
En línea

Facilitador De Tareas - Task Simplifier (FDT)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Aporte] Manejar Errores en VB (logger de errores)
Programación Visual Basic
‭‭‭‭jackl007 1 2,280 Último mensaje 1 Marzo 2008, 19:11 pm
por Sancho.Mazorka
(Source) Detectar unidades extraibles USB « 1 2 »
Programación Visual Basic
Kizar 13 20,644 Último mensaje 10 Diciembre 2008, 18:26 pm
por locoedu
Errores en vb en tiempo de ejecucion...(source)
Programación Visual Basic
byway 1 1,402 Último mensaje 20 Septiembre 2008, 19:04 pm
por el_c0c0
Como detectar y entrar en el keylogger de mi padre
Dudas Generales
Antoñitoo! 4 8,842 Último mensaje 3 Diciembre 2010, 00:02 am
por Vjuan_
[APORTE] Mega-Pack de "tips" para Windows 7 x64. « 1 2 3 »
Windows
Eleкtro 25 23,268 Último mensaje 1 Diciembre 2012, 17:37 pm
por simorg
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines