调试64位DLL检查器显示不正确的值

时间:2018-01-30 01:50:31

标签: c++ dll visual-studio-2017 64-bit visual-studio-debugging

我在调试模式下构建了一个64位版本的OpenH264 DLL(没有编译器优化),我在C#中调用它(通过Unity)。我使用Visual Studio 2017附加到正在运行的Unity进程并调试我的dll。

我可以放置断点并逐步执行代码,但代码的所有值似乎都是随机的(有时是null)。

例如this is where the debugger reports NULL as the value of a pointer but is stopped on the line after a failed NULL check

为什么会发生这种情况?如何在检查变量时获取正确的值?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

1请尝试在配置属性下切换公共语言运行时支持enter image description here

2另一个可能的原因是变量不在当前上下文中:

While debugging, Visual Studio will keep track of every variable in the current context