I've been trying to implement a Laitview control. I've gotten to a point where I'm getting a GPF after I load the list's contents. When I open Ollie Debug, the GPF is occurring in User32, in a function that hasn't been called from any of my code.
I've tried to run the program inside Olly, but when I set a breakpoint inside a dialog box function, Olly locks up when it hits that point.
How can I debug inside a dialog box?
Also, how can I find the cause of a GPF when it's happening deep inside Bill's murky forrest?
I've tried to run the program inside Olly, but when I set a breakpoint inside a dialog box function, Olly locks up when it hits that point.
How can I debug inside a dialog box?
Also, how can I find the cause of a GPF when it's happening deep inside Bill's murky forrest?
I think the problem is not in API code, but in yours.
Two very possible groups of reasons are
1. One of parameters in you API calling function pointed to wrong memory location.
2. Some registers weren't saved\restored.
One more reason - stack wasn't adjusted correctly.
It most likely - first reason - wrong parameter to memory location
I would do blind searching this way:
Put brakepoints before most possible part of codes.
Push F9, after break step F8. OllyDbg will show in statusbar if
during some API call GPF occures.
If so - look closely to parameters passed to the API function in
wich GPF occurs.
You may catch it only from you code with F8.
Just running F9 will give you nothing - cause it's hard to brouse back trying to determine what of your API calling start the sequence that led to GPF.
Two very possible groups of reasons are
1. One of parameters in you API calling function pointed to wrong memory location.
2. Some registers weren't saved\restored.
One more reason - stack wasn't adjusted correctly.
It most likely - first reason - wrong parameter to memory location
I would do blind searching this way:
Put brakepoints before most possible part of codes.
Push F9, after break step F8. OllyDbg will show in statusbar if
during some API call GPF occures.
If so - look closely to parameters passed to the API function in
wich GPF occurs.
You may catch it only from you code with F8.
Just running F9 will give you nothing - cause it's hard to brouse back trying to determine what of your API calling start the sequence that led to GPF.
I think the problem is not in API code, but in yours.
Two very possible groups of reasons are
1. One of parameters in you API calling function pointed to wrong memory location.
2. Some registers weren't saved\restored.
One more reason - stack wasn't adjusted correctly.
It most likely - first reason - wrong parameter to memory location