#
gdb bugging
GNU gdb 6.
8
Copyright (
C)
2008 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 "i486-slackware-linux"... (
gdb)
help pvector
Prints std::vector<
T>
information.
Syntax:
pvector <vector><
idx1><
idx2>
Note:
idx,
idx1 and
idx2 must be in acceptable range [
0..<vector>.
size()-
1].
Examples:
pvector v -
Prints vector
content,
size,
capacity and
T typedef
pvector v 0 -
Prints element[
idx]
from vector
pvector v 1 2 -
Prints elements in range [
idx1..
idx2]
from vector (
gdb)break
main
Breakpoint 1 at 0x80485c6:file
bugging.
cpp,line
6. (
gdb)
run
Starting program:/
root/
learn/
c++/
bugging
Breakpoint 1,
main ()
at bugging.
cpp:
6
6 vector<int>
vec; (
gdb)
n
7 vec.
push_back(
2); (
gdb)
8 vec.
push_back(
3); (
gdb)
pvector
Prints std::vector<
T>
information.
Syntax:
pvector <vector><
idx1><
idx2>
Note:
idx,
idx1 and
idx2 must be in acceptable range [
0..<vector>.
size()-
1].
Examples:
pvector v -
Prints vector
content,
size,
capacity and
T typedef
pvector v 0 -
Prints element[
idx]
from vector
pvector v 1 2 -
Prints elements in range [
idx1..
idx2]
from vector (
gdb)
pvector vec
elem[
0]:
$1 =
2 Vector
size =
1 Vector
capacity =
1
Element type =int* (
gdb)
n
9 vec.
push_back(
4); (
gdb)
10 return
0; (
gdb)
pvector vec
elem[
0]:
$2 =
2
elem[
1]:
$3 =
3
elem[
2]:
$4 =
4 Vector
size =
3 Vector
capacity =
4
Element type =int* (
gdb)
5. 默认情况下gdb不能用[]查看stl容器的数据元素,提示如下错误:
(
gdb)
print vec[
0] One of the arguments you tried to pass to operator[]
could not
be converted to what
the function wants.