Geo*_*nov 4 gdb stdout breakpoints
我试图找出程序的哪一部分打印到stdout.
我可以使用如下命令设置断点:
b std::ostream::operator<<(int)
但是当我输入时:b std::operator<<(std::ostream&, const std::string&)没有创建断点.
所以有两个问题:
operator << (..., cosnt std::string&)?sco*_*ttt 11
使用" info functions <<.*string "来搜索名称中包含<<和字符串的函数.info函数将正则表达式作为参数.
然后从列出的功能中选择所需的功能.删除; 在声明的最后,如果有的话,将声明作为参数粘贴到break命令:
$ gdb -q ./ostream-operator-breakpoint
<...>
(gdb) start
Temporary breakpoint 1 at 0x4006b0: file ostream-operator-breakpoint.cc, line 4.
Starting program: /home/scottt/Dropbox/stackoverflow/ostream-operator-breakpoint
<...>
(gdb) info functions <<.*string
All functions matching regular expression "<<.*string":
File /usr/src/debug/gcc-4.7.2-20121109/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/bits/basic_string.h:
std::basic_ostream<char, std::char_traits<char> > &std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&);
std::basic_ostream<wchar_t, std::char_traits<wchar_t> > &std::operator<< <wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&);
(gdb) break std::basic_ostream<char, std::char_traits<char> > &std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Breakpoint 2 at 0x3cbfa94640: file /usr/src/debug/gcc-4.7.2-20121109/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/bits/basic_string.h, line 2750.
Run Code Online (Sandbox Code Playgroud)
的启动(或运行)命令所需的动态链接的程序.除非您首先启动劣质过程,否则info函数不会列出共享库(如libstdc ++)中的函数.
| 归档时间: |
|
| 查看次数: |
6829 次 |
| 最近记录: |