当前位置:  开发笔记 > 编程语言 > 正文

使用Visual Studio 2005调试时调用函数?

如何解决《使用VisualStudio2005调试时调用函数?》经验,为你挑选了1个好方法。

这里有一些我认识的可能是可能但我从未设法做过
在VS2005(C++)中,在调试时,能够从我正在调试的代码中调用一个函数.
在调试复杂数据结构时,此功能有时是必不可少的,这些数据结构只能使用监视窗口的常规功能轻松探索.
监视窗口似乎允许编写函数调用,但每次我尝试它时都会给我一个错误或另一个错误.

Error: symbol "func" not found
Error: argument list does not match function
Error: member function not present

有没有人成功地使这项工作正常?我在这里错过了什么?

编辑:显然,调用的函数应该是调试器所在的当前范围中存在的符号.



1> shoosh..:

好的,这就是我发现的
CXX0040意味着" The C expression evaluator does not support implicit conversions involving constructor calls."
CXX0047意味着" Overloaded functions can be called only if there is an exact parameter match or a match that does not require the construction of an object."

所以组合起来就意味着如果我想调用一个函数,那么任何参数都不应该有隐式转换,并且所有参数都不需要构造.
在这种情况下,"隐式转换"似乎包括转换'String'为琐碎的事情'const String&'.
"建筑"似乎包括琐碎的复制结构.所以传递值不是原始类型的任何东西都会导致错误.

所以这基本上留下了只接受基本类型或指针的函数.
我刚刚成功地测试了这个理论.

因此,如果您希望能够从监视窗口调用方法,请添加一个只接受指针和基元的重载,并在监视窗口中相应地传递参数.传递非原始对象传递其地址.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有