首页 IDE工具 Visual C++ 用additional dll在载入dll调试符号
用additional dll在载入dll调试符号 PDF 打印 E-mail
用户评价: / 0
好 
IDE - Visual C++
作者:Administrator   
周日, 20 7月 2008 08:12

在visual c++6中,project setting -> debug, 有一个catagory叫additional dll 这个是用来做什么的呢?

它表示,你在调试当前project载入调试信息时,希望附加载入某个模块的调试信息。

在visual c++6中,project setting -> debug, 有一个catagory叫additional dll 这个是用来做什么的呢?

它表示,你在调试当前project载入调试信息时,希望附加载入某个模块的调试信息。 

比如一个workspace有3个project,a.exe, b.dll, c.lib。现在把a.exe设为active project,然后启动调试,想调试b.dll中的代码。一种情况就是在a.exe的代码中设定断点,然后f11 step into到b.dll的代码中去。而如果你想在启动a.exe之前,就在b.dll的代码中设置断点,如果你没有添加b.dll为a.exe的additional dll,那么你依然可以在b.dll中设置断点,但是一运行,那个断点就失效了,停不下来。这也是很多人遇到在dll中无法设置断点的一个原因。

而如果在a.exe的setting中设置了b.dll为附加载入调试信息的模块,那么调试器就能跨项目设置断点啦。

这里还提一下常

遇到的一个bug。一个项目从一台电脑考到另一台电脑后,debug状态下总是无法按F5调试,总是说b.dll未找到。这很奇怪啊,b.dll我是用loadlibrary载入的,怎么一开始vc就知道要这个dll啦,而且这个dll本身它存在啊?问题也出在addtional dll中,里面用了绝对路径,换了电脑后路径不一样了,所以调试初期无法载入b.dll的调试信息