TheBug [SRC]

Iniciado por cobein, 16 Septiembre 2008, 21:08 PM

0 Miembros y 2 Visitantes están viendo este tema.

cobein

Bueno, estaba trabajando en este proyecto y me gustaria ver que opinan del mismo, esta incompleto para mi gusto pero es totalmente funcional.

TheBug is an application that lets you monitor debug output on your local system. It is capable of displaying Win32 debug output generated by standard debug print APIs, so you don’t need a debugger to catch the debug output your applications generate, and you don't need to modify your applications to use non-Windows debug functions in order to view its debug output.

Descaraga: http://www.uploadsourcecode.com.ar/d/HGGHHpVJsjtBbWOcgrobJcGiksO3Ghtb

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Karcrack

Se ve bueno, a ver si mañana tengo tiempo y me miro el code a fondo, buen aporte ;D

Saludos :D

ssccaann43 ©

Cobein, quedo lindo che... Muy bueno...
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

cobein

Gracias por los comentarios, estaria bueno recibir algun tipo de sugerencia o comentario referido al funcionamiento etc.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

LeandroA

#4
Che esta muy util, lo puse al palo el timer del test con un contador y recive todos los eventos perfectos ;D, incluso con mas de una instancia tirando palo y palo, digo esta muy util ya que cuando compilamos despues se hace muy dificil llevar un chequeo

una cosita que vi que creo que podes hacer para reducir un vastante el uso de la memoria es ingresar un key del pid al imagelist para no ingresar permanentemente el mismo icono.


Private Sub f_cDebug_DebugString(ByVal lPID As Long, ByVal sPrint As String)
    With grdReport
        .AddRow
        .CellDetails .Rows, 1, .Rows, ALIGNMENT
        .CellDetails .Rows, 2, Time, ALIGNMENT
        .CellDetails .Rows, 3, lPID, ALIGNMENT
        .CellDetails .Rows, 4, ProcessPathByPID(lPID, True), ALIGNMENT
        .CellDetails .Rows, 5, sPrint, ALIGNMENT
        .CellDetails .Rows, 6, ProcessPathByPID(lPID, False), ALIGNMENT

        Dim lIndex  As Long
        Dim lIcon   As Long
   
        If Not f_cImgLst.KeyExists("k" & lPID) Then
            If ExtractIconEx(.CellText(.Rows, 6), _
               0, 0, lIcon, 1) Then
               
                Call f_cImgLst.AddFromHandle(lIcon, IMAGE_ICON, "k" & lPID)
                Call DestroyIcon(lIcon)
                lIndex = f_cImgLst.ImageCount - 1
                .CellIcon(.Rows, 4) = lIndex
            End If
        Else
            .CellIcon(.Rows, 4) = f_cImgLst.ItemIndex("k" & lPID)
        End If
       
        If f_bLock Then
            .SelectedRow = .Rows
        End If
    End With
End Sub


lo que si hay una (o varias) funciones  mal en la clase cVBALImageList en el checkeo de las key


Public Property Get ItemIndex(ByVal vKey As Variant) As Long
Dim lR As Long
Dim i As Long
   ' Returns the 0 based Index for the selected
   ' Image list item:
   If (IsNumeric(vKey)) Then
      lR = vKey
      If (lR > 0) And (lR <= ImageCount) Then
         ItemIndex = lR - 1
      Else
         ' error
         Err.Raise 9, App.EXEName & ".vbalImageList"
         ItemIndex = -1
      End If
   Else
      lR = -1
      For i = 0 To ImageCount - 1
         If (m_sKey(i) = vKey) Then
            lR = i
            Exit For
         End If
      Next i
     
      If (lR > -1) And (lR <= ImageCount) Then
         ItemIndex = lR
      Else
         Err.Raise 9, App.EXEName & ".vbalImageList"
         ItemIndex = -1
      End If
   End If
End Property


aca en esta funcion se comieron (lR > 0) donde deberia ser (lR > -1) y bueno corrigiendo eso se puede adaptar lo primero.

y esta muy linda la interfaz. Saludos

cobein

Buen dato Leandro, es verdad se la pasa haciendo giladas sin necesidad aparte de crear una lista gigante de iconos!!! xD

Para mi es bastante util este u otro programa similar, por ejemplo para debuguear dll creadas para inyectar y cosas asi.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.