Syl*_*gue 9 debugging visual-studio
当我调试时,我经常不得不处理不使用中间变量来存储返回值的方法:
private int myMethod_1()
{
return 12;
}
private int myMethod_2()
{
return someCall( someValue );
}
Run Code Online (Sandbox Code Playgroud)
好吧,为了重新创建一个bug,我经常需要动态更改值.在这里,我想看看myMethode_1返回零时会发生什么.同样的事情myMethod_2.
有没有办法在不修改代码的情况下做到这一点?我想做的是,在返回行(或结束括号)上放置一个断点并输入一个新的返回值.
注意:我正在使用Visual Studio 2005和Visual Studio 2008.
谢谢 !
对于那些正在 VB.NET 中寻找解决方案的人:
它是如此简单,我不敢相信我没有看到它:要查看函数将返回的值:只需将指针放在函数名称上即可。该值将显示在工具提示中。
更改值:只需单击此工具提示,更改值并按 Enter 键。
Visual Studio 非常酷!
注意:我在 Visual Studio Team System 2008 上的 VB.NET 中测试了它。刚刚尝试使用 C#,但它不起作用...:-(
函数的返回值通常在EAX寄存器中返回。
如果仅在函数末尾设置断点,则更改EAX可能会更改返回值。您只需在监视窗口中写入其名称即可在Visual Studio中更改和查看任何寄存器。
如果您进行了优化,或者即使函数是类似的简单功能,也很可能会失败return 12。如果您返回的内容不适合32位寄存器,则可能也无法正常工作。至少值得尝试。