HI,
我非常擅长使用Visual studio。
我正在尝试调试应用程序。 在那里我遇到了如下声明:
double tmp =
myPart->bat_qty() * timeFactor / myPart->AUB() * myPart->UCost * myAIM->param->myAnalysisParams->wd_year;
将光标放在时在VS中
timeFactor
myPart->UCost
myAIM->param->myAnalysisParams->wd_year
它显示相应的值。但不是
返回的值myPart->bat_qty()
myPart->AUB()
查找这些函数返回的值的最简单方法是什么。 如果这似乎是一种陈词滥调的问题,请道歉。但我是VS的新手。 我需要一种更好的方法来查找返回的值,而无需编辑用于在一些临时变量中存储值的文件。我的意思是我不能编辑文件。
答案 0 :(得分:3)
在VS 2010中,您可以将断点放在函数调用站点并激活“Autos”窗口(如果Autos窗口不可见,您可以从Debug中看到它 - > Windows - > Autos Ctrl + Alt + V,A)。在跳过函数调用(F10)后的“自动窗口”中,您将看到以下行中的内容:
[Func]返回[返回值] [返回类型]
其中[返回值]和[返回类型]是名为[Func]的函数的适当返回值和类型。
我希望这会有所帮助。
这样做的好处是您无需编辑代码。我看到的缺点是,如果返回的类型很复杂,则无法扩展它并检查其属性,就像将返回值分配给自动变量一样。但是对于简单的结构,返回值扩展为如下所示:{var1 = [val1],var2 = [val2] ...}其中var1,var2是结构的属性。
据我所知,Autos Window在VS 6.0中存在(也做了同样的事情)所以这也适用于VS 2005我猜(也有人问过VS 2005)。
答案 1 :(得分:2)
将它们分配给一个临时的,如下所示:
const double bat_qty_val = myPart->bat_qty();
const double AUB_val = myPart->AUB();
然后使用等式中的那些而不是调用函数。
答案 2 :(得分:2)
最快的方法是在立即窗口中输入myPart->bat_qty()
。这样您就不需要更改代码了。
答案 3 :(得分:0)
脱离我的头脑,我确定会有更优雅的方式,但您可以将bat_qty()和AUB()的返回值分配给临时变量并在调试器中观察它们。