Access violation while the program was idle - not trace information to track down the bug

后端 未结 3 892
我寻月下人不归
我寻月下人不归 2021-02-11 11:30

I have a program that just popped up an AV. Until now the Eureka Log could find the source code line that generated the error but now it displays only this:

Acc         


        
相关标签:
3条回答
  • 2021-02-11 11:44

    I don't see an EditWndProc() method in user32.dll, but Delphi has a couple -- one dealing with combobox messages and one dealing with tree views. Given MS's comctrl mess, I'd guess you have a tree view?

    Check your tree view stuff. Given IntersectClipRect's parameters, it's easy to guess that it's being passed an invalid device context -- so...are you doing any custom painting for your tree view? If so, are you checking to make sure the canvas handle is ! NIL before you begin painting (try assertions if nothing else)?

    0 讨论(0)
  • 2021-02-11 11:57

    I just wonder what's on line 76[16] in Amper.exe... That line number might be a hint of the location of the error.
    Then again, when it's just happening during an idle moment then it basically happens when the system is processing Windows messages like the mouse moving, keyboard events, timer updates and a lot more.
    It sometimes helps to search for the error message plus code. I've done a quick scan and found this KB from MS which suggests that this kind of error can happen when you call certain Windows API's with invalid parameters. But this KB doesn't apply to your error. Still, it gives you an idea about what to check: any Windows API call you make in your own code.
    Does it also generate this exception in the IDE, while you're debugging?

    0 讨论(0)
  • 2021-02-11 11:59

    That's what EurekaLog does when it has nothing to work with. You need to rebuild and have the linker produce a detailed map file. That's how it knows what to apply its stack trace to.

    0 讨论(0)
提交回复
热议问题