Page 1 of 1

Olydbg and thousands events per second

Posted: Tue Mar 25, 2014 1:27 am
by Morfi
I'm trying to debug an application that uses QT GUI library. The problem is that I can't even start debugging as ollydbg seems to be processing ~1k events per second where in stack trace I see all of them running inside QT. The application has very fancy GUI (blending, custom window and buttons etc) and perhaps that is what hangs the debugger as it tries to process all this. Can I somehow force olly to skip or ignore these events?

This happens with every larger application (Even those without QT, written in VB6)

[url]http://reverseengineering.stackexchange ... der-qt-gui

Posted: Tue Mar 25, 2014 2:26 am
by blabberer
1 k events should not make any differnce ollydbg is capable of handling far far more than that

Note that status changes to "Tracing" and status bar blinks displaying something like "120672 events per second".

OllyDbg usually traces 300,000 to 600,000 commands per second.

i that blinking is a hinderance disable it (options->events->uncheck warn on frequent events check box )


Posted: Tue Mar 25, 2014 2:28 am
by Morfi
[quote="blabberer"]1 k events should not make any differnce ollydbg is capable of handling far far more than that

i that blinking is a hinderance disable it (options->events->uncheck warn on frequent events check box )


Thanks for the reply.
Yet the foreground application that is being debugged hangs. QT udd file is over 50MB big, perhaps this is expected then and I should wait patiently until it's done forming it?

Posted: Tue Mar 25, 2014 3:02 am
by blabberer
first off all ensure you have no leftover stray memory breakpoints ollydbg will blink only if it is processing some debug events

running with with f9 should not make it process any event at all

you can disable auto analysis of all modules and opt for manual analysis as and when needed

again it is in alt+o

you can disable Debugging data loading (or stop all the pdb symbols requests sent to from ms symbol server )

these all could speed up the startup of a large binary

i have an 82 mb udd file of microsoft excel.exe and ollydbg doesnt stall loading or analysing it
i just loaded it before replying

loaded excel in a jiffy set a bp on mso#3087 and clicked a cell in excel to break all under a minute max

Code: Select all

Call stack of main thread
Stack     Data              Procedure                                     Called from                                                 Frame
0013F828  3036DAAD          EXCEL.3013F050                                EXCEL.3036DAA8
0013F85C  30799651          EXCEL.3036DA72                                EXCEL.3079964C
0013F9D4  303A68AF          EXCEL.30797EA4                                EXCEL.303A68AA
0013FA94  30016869          ???                                           EXCEL.30016866
0013FB7C  30016767          EXCEL.30016796                                EXCEL.30016762
0013FB9C  7E418734          ???                                           USER32.InternalCallWinProc+25
0013FBC8  7E418816          USER32.InternalCallWinProc                    USER32.UserCallWinProcCheckWow+0B2
0013FC30  7E42A013          USER32.UserCallWinProcCheckWow                USER32.CallWindowProcAorW+4C
0013FC60  7E42A039          USER32.CallWindowProcAorW                     USER32.CallWindowProcW+16
0013FC80  32650ACD          USER32.CallWindowProcW                        mso.32650AC7
0013FCB8  7E418734          ???                                           USER32.InternalCallWinProc+25
0013FCE4  7E418816          USER32.InternalCallWinProc                    USER32.UserCallWinProcCheckWow+0B2
0013FD4C  7E4189CD          USER32.UserCallWinProcCheckWow                USER32.DispatchMessageWorker+0D7
0013FDAC  7E418A10          USER32.DispatchMessageWorker                  USER32.DispatchMessageW+0A
0013FDBC  30027AF5          USER32.DispatchMessageW                       EXCEL.30027AEF
0013FDE0  3002771F          EXCEL.30027A6A                                EXCEL.3002771A
0013FEC4  30003AD8          EXCEL.30026B30                                EXCEL.30003AD3
0013FF34  300037EC          EXCEL.30003802                                EXCEL.300037E7
0013FFC4  7C817077          ???                                           kernel32.BaseProcessStart+20

Code: Select all

C:\Documents and Settings\Admin\My Documents\ollydbg2beta\odbg201\odbg201>ls -lah EXCEL.udd
-rw-rw-rw-  1 Admin 0 [B]81M[/B] 2014-03-25 12:56 EXCEL.udd

Posted: Sat Apr 05, 2014 1:12 am
by Morfi
Thanks for the replies.
So you were able to run Excel in around one minute. That's large binary as you said and I wish I could get such good time.

I tried to run TeamSpeak 3 x86 client and I waited 20 minutes until I gave up.

I recorded a video on how it looked like so that you can see yourself. At 11:30 I'm restarting it (became unpatient) but I end up in the same place. After I stopped recording I let it run but only couple threads have changed, GUI didn't even show up nor tray icon.


Posted: Sat Apr 05, 2014 4:37 pm
by Morfi
Now I'm trying to run windows messenger and it's already 1:30h I'm waiting but it's not hang. It's still processing and *something* is happening.

And no, I don't run 64Mhz :p I'm on i7

edit: I also realized that if I pause the execution then discard the hit trace and continue, it speeds up drastically (for a short while).
But for some reason it ALWAYS log the hit trace (even if I don't ask for it)
Confirmed (I'm not sure if it's a coincidence though) after I was constantly pausing, after discarding hit trace (and possibly clear trace - tho not crucial), resume over and over it took around one minute to load everything!

Sometimes I'm getting "Invalidating non-flushed cache!" error though when doing that.