GDB debug vrouter-agent of tungsten fabirc

from build-server, copy symbol file:

scp /root/contrail/RPMS/x86_64/contrail-debuginfo-5.1.0-073120190536.el7.x86_64.rpm compute_node:/root

on compute node:

docker cp contrail-debuginfo-5.1.0-073120190536.el7.x86_64.rpm vrouter_vrouter-agent_1:/

go to container:

docker exec -it vrouter_vrouter-agent_1 bash

install:

#debuginfo-install contrail-debuginfo-5.1.0-073120190536.el7.x86_64.rpm

yum localinstall contrail-debuginfo-5.1

attach gdb to process:

ps -ef|grep vrouter
root     10312 10031  4 15:01 pts/0    00:01:15 /usr/bin/contrail-vrouter-agent
gdb -p 10312

load symbol file:

symbol-file /usr/lib/debug/usr/bin/contrail-vrouter-agent.debug

####

dump:

进入容器:/var/crashes/core.contrail-vroute.43845.compute1.1564653277

(vrouter container)gdb /usr/bin/contrail-vrouter-agent core.contrail-vrouter.xxx
bt
bt full

############

list

l

显示多行源代码

break

b

设置断点,程序运行到断点的位置会停下来

info

i

描述程序的状态

run

r

开始运行程序

display

disp

跟踪查看某个变量,每次停下来都显示它的值

step

s

执行下一条语句,如果该语句为函数调用,则进入函数执行其中的第一条语句

next

n

执行下一条语句,如果该语句为函数调用,不会进入函数内部执行(即不会一步步地调试函数内部语句)

print

p

打印内部变量值

continue

c

继续程序的运行,直到遇到下一个断点

set var name=v

 

设置变量的值

start

st

开始执行程序,在main函数的第一条语句前面停下来

file

 

装入需要调试的程序

kill

k

终止正在调试的程序

watch

 

监视变量值的变化

backtrace

bt

产看函数调用信息(堆栈)

frame

f

查看栈帧

quit

q

退出GDB环境

xmpp debug:

tcpdump -i enp2s0f0 port 5269 -vne -w cp2.cap 

你可能感兴趣的:(虚拟网络,cloud)