我在Windows 7上使用Visual Studio 2010,用C ++编写。在我的程序中,我有一个.dll,它包含我在程序中经常使用的一堆函数。最近,我在更改.dll方面遇到了很多麻烦。每当我更改我的DLL中定义的函数时,程序生成并运行时,更改似乎不会生效。也就是说,我相信每次成功构建(或重建)我的解决方案时,我的DLL都没有正确更新。
如果我尝试在.cpp文件中的任何函数中设置断点(用户代替DLL隐藏的那个函数),visual studio会告诉我代码不会被执行而且断点不能在那里设置。但是,今天早些时候我可以在那里设置一个断点。
此外,我的一个函数将“Frame Received”打印到visual studio中的调试输出。这仍然在发生,所以显然这个功能的某些版本仍然有效。所以我想尝试连续10次打印“Frame Received”,看看我的更改是否真的生效了。奇怪的是,即使在构建和清理/重建之后,程序仍然只写一次“Frame Received”,好像它只是忽略了我的更改。
我不确定是什么导致这种情况,但正如我所说,它只是看起来我的.dll没有更新和/或visual studio使用旧版本的.dll而不是最新版本。无论哪种方式,我都不确定如何解决这个问题。有什么想法吗?
编辑:我之前忘记提及,在调试时,我试图进入其中一个我无法在其中放置断点的函数,并且我遇到了以下错误消息:
答案 0 :(得分:2)
可能,构建的输出会进入其他目录。 - 检查你的outdir设置。