Отображение переменных в QtCreator через gdb

207
06 июня 2022, 18:20

Отладчик gdb не показывает содержимое переменной типа std::string

При этом если смотреть через gdb в консоле то он все показывает:

 milai@milai:~/projects/test_project/build/bin$ gdb ./test_project 
 GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1
 Copyright (C) 2020 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 Type "show copying" and "show warranty" for details.
 This GDB was configured as "x86_64-linux-gnu".
 Type "show configuration" for configuration details.
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>.
 Find the GDB manual and other documentation resources online at:
     <http://www.gnu.org/software/gdb/documentation/>.
 For help, type "help".
 Type "apropos word" to search for commands related to "word"...
 Reading symbols from ./test_project...
 (gdb) list
 1  #include <string>
 2  #include <iostream>
 3  
 4  int main(int argc, char* argv[])
 5  {
 6      const std::string str = "abc";
 7      std::cout << str << std::endl;
 8      return 0;
 9  }
 (gdb) b 7
 Breakpoint 1 at 0x12bb: file /home/milai/projects/test_project/main.cpp, line 7.
 (gdb) r
 Starting program: /home/milai/projects/test_project/build/bin/test_project 
 Breakpoint 1, main (argc=1, argv=0x7fffffffdec8) at /home/milai/projects/test_project/main.cpp:7
 7      std::cout << str << std::endl;
 (gdb) info locals 
 str = "abc"
 (gdb) c
 Continuing.
 abc
 [Inferior 1 (process 40257) exited normally]
 (gdb) quit
 milai@milai:~/projects/test_project/build/bin$ 

В чем может быть проблема?

Окружение:

  • Ubuntu 20.04.1
  • qtcreator: 4.11.0
  • gdb: 9.1
  • g++ 9.3.0
Answer 1

По умолчанию, QtCreator не загружает скрипты от gdb, которые позволяют "красиво выводить сложные типы", но это можно включить в настройках.

Меню Tools->options, потом "вкладка Debug" есть такая галочка "Load system gdb pretty printers".

READ ALSO
С++ - Вызвано исключение по адресу 0x00502974

С++ - Вызвано исключение по адресу 0x00502974

После вписывания массива пишет - Вызвано исключение по адресу 0x00502974 в Project2exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE01

127
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064

You have an error in your SQL syntax; 'BY sort_order ASC' at line 1 in C:\xampp\htdocs\models\Categoryphp:12

218
phpQuery &gt; FATAL ERROR

phpQuery > FATAL ERROR

Пытаюсь сделать парсер на phpQuery, получаю DOM документ через:

176