如何在没有Visual Studio的情况下进行调试?

3

Python -> c++ dll -> c# dll

我需要将Python程序与一个COM互操作的C# DLL配合使用,该DLL通过在C#中生成的.tlb文件被加载到包装器C++ DLL中,以在Python项目中使用。当我在我的计算机上运行时,它可以正常工作,但是当我在刚刚格式化的计算机上运行时,会出现以下错误:

WindowsError: exception code 0xe0434f4d

我已经在格式化的计算机上安装了重新分发的C++和.NET Compact Framework 3.5。

如果没有安装Visual Studio,我该如何查看正确的异常信息?我该如何调试所有的内容?我能不能直接调试dll文件本身?

注意:在我的电脑上一切正常,所以可能是某个dll或文件缺失。我已经使用Dependency Walker来查看是否有缺失的dll,但没有找到。

2个回答

8

下载微软Windows调试工具。其中包含WinDbg调试器,也可用于调试。

WinDbg相对于Visual Studio的优点是您拥有更多低级命令来查找问题。

WinDbg的缺点是它不太用户友好(与Visual Studio相比)。


我可以在WinDbg或OllyDbg中运行从我的Python项目生成的.exe文件吗? - aF.
可以的,只要编译成机器语言就行。 - Patrick

6
你可以使用WinDbg或其他优秀的应用程序来附加到进程甚至在调试器应用程序中运行应用程序。
另一个非常好的软件是OllyDbg
这两个都允许您在应用程序的不同位置设置断点。

我可以在WinDbg或OllyDbg中运行从我的Python项目生成的.exe文件吗? - aF.
程序最初使用哪种语言编写并不重要,因为它会被编译/转换为汇编语言/C语言/机器码,然后编译为可执行文件。 - Filip Ekberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接