2009-08-20 131 views
3

我有一些项目由一些已经用MinGW和调试信息编译的DLL组成,另一个使用这些DLL(使用MinGW编译)的EXE目标项目。在Windows下使用GDB调试DLL

问题是,我需要在这些DLL内部的函数上放置断点,但是GDB虽然设置了它们,但在运行时只是默默地忽略它们。踏入它们(用''键)只是跳过它们(就像用'n'键)。我怎样才能进入这些DLL里面?也许有一些选项我应该指定给GDB?提前致谢。

+0

如果您添加C或C++标记,则可能会获得更多视图。 – Sahas 2009-08-20 11:27:46

+0

在开始运行程序之前或之后,您是否在DLL代码中添加了断点? – 2009-08-20 12:56:28

+0

我试过两种方法 - 结果相同 – 2009-08-20 13:05:38

回答

2

确保您正在编译gcc optimization level标志设置为0(-O0)。

+0

好吧,这似乎有理想的效果。虽然它展示了VLC内部一些新的意外崩溃:( – 2009-08-21 10:13:15

+0

这与问题无关。至少,现在你可以调试它们了。 – 2009-08-21 14:45:48