我有一个用C++写的静态库,可以二进制下载或者源码编译here .在该静态库中,我想在函数 call 处设置一个断点.我已经为该静态库创建了一个包装器 C++ DLL,以及一个调用该 C++ DLL 中的函数的 C# 单元测试项目。但是,当我尝试调试静态库时,函数显示为灰色(见下文),并且我收到一条消息“源不可用”。
怎么可能单步进入源代码并设置断点?我尝试使用 Debug > New Breakpoint > Function Breakpoint
,但如果我输入类似 module_runtime_path
的函数,它根本不会中断。不幸的是,当前源代码不允许从 Visual Studio 构建(它只能从 Ninja 构建)。如果我使用 Ninja 构建,我也尝试添加各种 PDB 位置但无济于事。
有什么办法可以在静态库中设置断点吗?
我无法确定确切的解决方案,但我最终从源代码构建并在我的 C++ DLL 项目中进行了设置,在 Properties > Configuration Properties > Linker > Debugging
中,我设置了 Generate Debug Info=优化调试 (/DEBUG)
。之后,我就可以进入静态库了。
我是一名优秀的程序员,十分优秀!