在Wine的源代码中设置断点

时间:2014-05-21 11:32:59

标签: c debugging gdb wine

我已经从源代码下载并构建了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提供特殊参数。

我应该更改什么,以便查看源代码?

1 个答案:

答案 0 :(得分:1)

我认为你必须在运行./configure之前导出CFLAGS = -g和CXXFLAGS = -g。此外,我相信在运行或调试时,您必须在当前工作目录中拥有源代码的副本。我知道这不会伤害。作为一个侧面说明调试绘画代码是众所周知的难以有一个断点点击屏幕可能需要重绘自己在无限循环中卷起。

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