我已经从源代码下载并构建了Wine。现在,我想使用调试器来调试某些功能-BitBlt()。问题是,似乎看不到源代码。如您所见,当我键入'l'时,它看不到我的源代码。

sashoalm@homepc:~$ winedbg /tmp/bitblttest.exe
WineDbg starting on pid 0022
0x7b863444 DbgBreakPoint+0x4 in kernel32: popl  %ebp
Wine-dbg>break BitBlt
Breakpoint 1 at 0x7ebb5501 BitBlt in gdi32
Wine-dbg>cont
Stopped on breakpoint 1 at 0x7ebb5501 BitBlt in gdi32
Wine-dbg>list
Enter path to file '' (<cr> to end search):


我已经使用./configuremakemake install编译了Wine,没有为./configure提供特殊参数。

我应该更改什么,才能看到源代码?

最佳答案

我认为您必须在运行./configure之前导出CFLAGS = -g和CXXFLAGS = -g。另外,我认为您在运行或调试时必须在当前工作目录中拥有源代码的副本。我知道这不会伤害。附带说明一下,当中断点到达屏幕时,调试绘画代码非常困难,可能需要重画自身以无限循环循环。

gdi32可能是您没有源的Windows库。本练习的一半使用Windows调用,并且可能也很难调试。

关于c - 在Wine的源代码中设置断点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23781986/

10-11 18:57