DIB crash with gdb
ken at codeweavers.com
Fri Dec 23 23:56:35 CST 2011
On Dec 23, 2011, at 3:10 PM, Michael Ost wrote:
> This all makes sense, and pulls the code together for me. Thanks!
> I assume this is a recent development, because I was successfully using gdb with our last wine version - 1.1.7.
Nope. This is how it has worked for a long, long time. Don't know what else has changed. Maybe some of the other work on the DIB engine has changed whether/when the DIB accesses cause access violations that you're seeing.
> But it no longer sounds workable to use gdb for debugging winelib applications, which is a drag. Are you suggesting using winedbg instead?
Well, you can use winedbg with $BreakOnFirstChance set to 0, for some apps. (Setting $BreakOnFirstChance to 0 only has to be done once for a given WINEPREFIX. It's saved in the registry.)
You can also try that "handle SIGSEGV nostop noprint pass" command I gave you. You might try starting with that signal-handling setup and then, when you get close to where you expect a true crash to happen, switch it back ("handle SIGSEGV stop print nopass").
Some day, the DIB engine will be complete and this memory protection scheme will not be necessary to coordinate DIB access between memory and the X server.
> Do you know if it can be used as a drop-in replacement in, say, Qt Creator (which is my IDE of choice)?
No, it can't. Its interface is not identical to gdb's.
More information about the wine-devel