我正在尝试调试我创建的本机C ++ COM DLL中的一些问题,并希望从此启动Visual Studio(2008)调试器。这个dll是由我给出的另一个dll调用的,所以基本上我的代码通过这个插入另一个应用程序。无论如何,在过去我曾使用C#创建这个DLL并且能够使用System.Diagnostics.Debugger.Break()方法。有没有类似的东西可以使用?我看了一些关于DebugBreak和__debugbreak的帖子,但这似乎没有用,它似乎只是阻止我的代码执行超出该语句。
美国东部时间:我按照下面的paulsm4的建议,发现断点不起作用,它会告诉我:“断点当前不会被命中。此文件没有加载符号”
答案 0 :(得分:1)
理想情况下,您将获得COM / ActiveX .dll的项目源。
如果是这种情况,只需在你的.dll代码中设置一个断点,在调试器中运行你的程序......就是这样。
请注意“托管代码”(例如C#/ .net .exe或.dll)与“本机代码”(如COM / ActiveX .dll)之间的区别。要在MSVS2008下调试“本机代码”,您需要指定“混合模式”:
http://msdn.microsoft.com/en-us/library/kbaht4dh%28v=vs.90%29.aspx