Visual Studio 2013在外部可执行文件中调试dll,进行更改

时间:2014-11-11 21:14:49

标签: c++ visual-studio dll

我正在尝试在主机内调试Vst音频插件,这是一个dll。 我设法从Visual Studio 2013打开host.exe并且调试工作,但是为了正确测试我需要在host.exe的用户界面中进行一些更改但是它不可编辑。 一旦我在主机内加载vst,调试器就会接管。

是否有暂停调试器在主机的gui中进行一些更改? 或者有没有办法延迟调试器立即接管?

2 个答案:

答案 0 :(得分:1)

您可以附加到VST进程,然后在您需要在主机进程中更改数据的位置之前在DLL中放置断点。当您的断点被击中时,您可以尝试修改您需要为调用修改数据所在的内存位置,但是您需要非常准确地了解主机进程如何将其数据布局在内存中。

您不能将VS2013与您的DLL捆绑在一起,以便每个用户都这样做,这样只对本地测试有用 - 我不建议这样做,因为您的更改可能对主机进程产生不利影响(可能有其他状态依赖于原始数据 - 如果你在内存中进行了更改,主机进程的其他部分可能会开始中断。)

答案 1 :(得分:0)

只要没有断点命中功能,仍然可以在host.exe中进行更改。 要测试特定的功能,只在那里设置断点,然后可以在执行您想要的更改时通过host.exe单独触发它们。