Visual Studio中函数的返回值

时间:2011-01-18 13:28:14

标签: c++ visual-studio visual-c++

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的新手。 我需要一种更好的方法来查找返回的值,而无需编辑用于在一些临时变量中存储值的文件。我的意思是我不能编辑文件。

4 个答案:

答案 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()的返回值分配给临时变量并在调试器中观察它们。