我不知道是否有任何的方式来调试C,从C#的PInvoke呼吁++ DLL在VS 2010我试图附加项目到C#应用程序,但它没有工作 - 在一个破发点并没有停止。
我也试过在C ++项目,但没有印有PInvoke的调用与OutputDebugString的录制任何内容。 尽管存在这些问题,实际功能运行良好。
任何建议将被认真考虑。
我不知道是否有任何的方式来调试C,从C#的PInvoke呼吁++ DLL在VS 2010我试图附加项目到C#应用程序,但它没有工作 - 在一个破发点并没有停止。
我也试过在C ++项目,但没有印有PInvoke的调用与OutputDebugString的录制任何内容。 尽管存在这些问题,实际功能运行良好。
任何建议将被认真考虑。
都需要打开相同的选项:项目>属性>调试选项卡>勾选“启用非托管代码调试”选项。
您现在可以设置在机DLL的代码断点,它将从空心只要C#项目加载DLL变成固体。 和的OutputDebugString()输出会在输出窗口得益于非托管调试引擎被使用。
如果你的程序运行时,然后去调试 - 运行了一个C ++调试>附加到流程 - >找到你的流程和附加到它。 您应该能够调试。
请确保您有调试符号编译您的DLL。 (.PDB)文件,它们是在你运行的东西的目录。
安装时,将“附加到”价值的“本地”。 这一过程应不托管的代码调试器下运行 - 而不是“调试”,使用“运行”命令来启动。
此外,该DLL需要与调试信息对于任何有意义的调试发生编译。 确保你没有P /调用发布版本。
不管OutputDebugString的()应该工作的调试模式,但是。