我有一些从托管 C++ 类库(“Rem”)调用的本机 C DLL。在“Rem”类库中,我有一个本地 C++ 类 (api) 和一个托管 C++ 类 (API)。
托管类 (API) 目前是从 C# 控制台应用程序调用的(稍后将在 Web 应用程序中使用)。
调试时,我可以很好地单步执行我的本机代码。
我的问题是,当我调试时,除了本地声明的简单类型之外,我看不到任何变量的值。
函数参数在调试器中不可用,如果我尝试将它们添加为 Watch,它只会显示“错误:标识符 'schema_name' 超出范围”('schema_name' 是变量名)
任何结构都只在快速监视和监视窗口中显示值“{...}”。
如果我尝试将手表添加到结构中的字段,我会得到值“错误:'entryList.numItems'不存在”
我试过的东西:
我尝试在托管 C++ 中创建控制台应用程序并从中进行调试,同样的事情。
我尝试取消选中 Tools->Options->Debugging->General->Managed C++ Compatibility Mode,然后我根本无法进入代码(没有为断点加载符号)
在 C# 控制台应用程序项目中,我进入了 Properties->Debug 并选中了“启用本机代码调试”(并取消选中它)
在 C++ 类库中,我进入了 Properties->Debugging->Debugger Type 并尝试了“Mixed”、“Native”、“Managed”和“Auto”。
关于我做错了什么的任何建议?