I have this simple c++ code :
#include<bits/stdc++.h>
using namespace std;
vector<string> q;
int main()
{
q.push_back("test1");
q.push_back("test2");
cout<<q.front();
return 0;
}
When I use gdb
to print variable q
I get following error:
No symbol "q" in current context.
I compile my program using g++ like this:
g++ -g a.cpp
And here is my gdb commands:
gdb a.out
GNU gdb (GDB) 7.12
Copyright (C) 2016 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-pc-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 a.out...done.
(gdb) b 6
Breakpoint 1 at 0x400c6f: file a.cpp, line 6.
(gdb) r
Starting program: /home/mohammad/Desktop/a.out
Breakpoint 1, main () at a.cpp:9
9 q.push_back("test");
(gdb) print q
No symbol "q" in current context.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…