不是由Qt Creator的调试器中所示的返回值

问题描述 投票:0回答:3

我的环境:

  • 的Windows 10,64位
  • 微软的Visual Studio 2015年更新3
  • Qt的5.6.2
  • Qt Creator的4.8.1

据Qt Creator的文档,它应该是可能有Qt Creator中的调试器显示出来的功能时,函数的返回值。从http://doc.qt.io/qtcreator/creator-debug-mode.html#local-variables-and-function-parameters摘录:

视图包括当地人的当地人窗格和返回值窗格(隐藏当空)。

每当一个节目的调试器的控制下停止时,检索有关最上层堆栈帧信息,并将其显示在局部变量视图。局部变量窗格显示有关在该帧的函数的参数,以及局部变量的信息。如果在调试器中的最后一个操作是从功能按Shift + F11返回后,返回值窗格显示函数返回值。

问题是,我不能看到回报窗格(因此由过去的函数的返回值)。

下面是一个小例子:

编译一个最小的项目后,我设置main()一个断点,当foo()即将被调用,并启动调试器(F5)。调试器正确地在断点处停止:

enter image description here

我给进(F11)命令步调试器。在调试器中,我可以看到,控制达到所调用的函数,foo()

enter image description here

现在到了关键的一步。我给命令步骤输出(Shift + F11)到调试器。正如所料,未示出的控制返回给调用者(main()),但由foo()返回值:

enter image description here

所以,我怎么能看到的返回值?

这里是我的编译输出窗格中的内容:

15:45:44: Running steps for project debugger_return_pane...
15:45:44: Starting: "C:\Qt\5.6.2\msvc2015_64\bin\qmake.exe" C:\experiments\debugger_return_pane\debugger_return_pane.pro -spec win32-msvc2015 "CONFIG+=debug" "CONFIG+=qml_debug"
15:45:44: The process "C:\Qt\5.6.2\msvc2015_64\bin\qmake.exe" exited normally.
15:45:44: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" -f C:/experiments/build-debugger_return_pane-Desktop_Qt_5_6_3_MSVC2015_64bit2-Debug/Makefile qmake_all

jom 1.1.2 - empower your cores

15:45:45: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited normally.
15:45:45: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" 
    C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    cl -c -nologo -Zc:wchar_t -FS -Zc:strictStrings -Zc:throwingNew -Zi -MDd -GR -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\DebuggerReturnPane.vc.pdb -DUNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\debugger_return_pane -I. -I..\..\Qt\5.6.2\msvc2015_64\include -I..\..\Qt\5.6.2\msvc2015_64\include\QtWidgets -I..\..\Qt\5.6.2\msvc2015_64\include\QtGui -I..\..\Qt\5.6.2\msvc2015_64\include\QtANGLE -I..\..\Qt\5.6.2\msvc2015_64\include\QtCore -Idebug -I..\..\Qt\5.6.2\msvc2015_64\mkspecs\win32-msvc2015 -Fodebug\ @C:\Users\dave\AppData\Local\Temp\main.obj.8348.0.jom
main.cpp
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\DebuggerReturnPane.exe @C:\Users\dave\AppData\Local\Temp\DebuggerReturnPane.exe.8348.78.jom
15:45:45: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited normally.
15:45:45: Elapsed time: 00:01.
c++ qt debugging qt-creator
3个回答
0
投票

这已经被公认为Qt Creator中的一个错误:https://bugreports.qt.io/browse/QTCREATORBUG-21913


-1
投票

在文件的顶部,你需要包含QDebug这样:

include

所以在回来之前,你需要打印在这样foo的函数的返回值:

qDebug()<<值;


-1
投票

工作对我来说,调试器停止后,8号线,F10(步过),并且你可以看到返回值显示在右边panelenter image description here

© www.soinside.com 2019 - 2024. All rights reserved.