gdb调试流程

本文详细记录了一次使用GDB调试C++程序的过程,涉及多线程启动、工作线程执行及数据库操作。通过示例展示了如何跟踪线程创建、定位代码断点、查看内存状态和变量值,对于理解多线程环境下程序运行及调试有指导意义。
摘要由CSDN通过智能技术生成
Load DNS configure file success, total [ 6 ] DNS server IP.
DomainAnalyse_0_0: FilterDomain = ./FilterDomain.log
m_iThreadNumber = 4
[New Thread 0xf7d8db90 (LWP 25381)]
CDbThreadPoolManage::Start() i = 0  iCreate = 0  pthread_t id = 4158184336
../Pub/DB/DatabasePool.cpp:198>>> CDbThreadPoolManage::WorkThread() ThreadSeq 0 (ID: 4158184336) begin......
[New Thread 0xf738cb90 (LWP 25382)]
CDbThreadPoolManage::Start() i = 1  iCreate = 0  pthread_t id = 4147694480
../Pub/DB/DatabasePool.cpp:198>>> CDbThreadPoolManage::WorkThread() ThreadSeq 1 (ID: 4147694480) begin......
[New Thread 0xf698bb90 (LWP 25383)]
CDbThreadPoolManage::Start() i = 2  iCreate = 0  pthread_t id = 4137204624
../Pub/DB/DatabasePool.cpp:198>>> CDbThreadPoolManage::WorkThread() ThreadSeq 2 (ID: 4137204624) begin......
[New Thread 0xf5f8ab90 (LWP 25384)]
CDbThreadPoolManage::Start() i = 3  iCreate = 0  pthread_t id = 4126714768
../Pub/DB/DatabasePool.cpp:198>>> CDbThreadPoolManage::WorkThread() ThreadSeq 3 (ID: 4126714768) begin......
RealThreadNumber = 4
m_iThreadNumber = 1
[New Thread 0xf5589b90 (LWP 25385)]
CThreadPoolManage::Start() i = 0  iCreate = 0  pthread_t id = 4116224912
../Pub/Util/ThreadPool.cpp:151>>> CThreadPoolManage::WorkThread() ThreadSeq 0 (ID: 4116224912) begin......
RealThreadNumber = 1
DomainAnalyse_0_0: CModuleDomainAnalyse::GetData() Enter...
DomainAnalyse_0_0: i = 0, FileName:/NewData/new/2012-05-15.ALL_00002
ModuleDomainAnalyse.cpp:505>>> Do Dns File : /NewData/new/2012-05-15.ALL_00002!

Breakpoint 1, CModuleDomainAnalyse::AddLineTask (this=0xffffc5f4, 
    szLineBuff=0xffffb1c8 "DNS_NAME        smtp.com        2       1       TELECOM smtp.com\n", strDate="2012-05-15")
    at ModuleDomainAnalyse.cpp:629
629	ModuleDomainAnalyse.cpp: 没有那个文件或目录.
	in ModuleDomainAnalyse.cpp
(gdb) n
630	in ModuleDomainAnalyse.cpp
(gdb) n
632	in ModuleDomainAnalyse.cpp
(gdb) n
633	in ModuleDomainAnalyse.cpp
(gdb) n
634	in ModuleDomainAnalyse.cpp
(gdb) n
635	in ModuleDomainAnalyse.cpp
(gdb) n
636	in ModuleDomainAnalyse.cpp
(gdb) n
637	in ModuleDomainAnalyse.cpp
(gdb) 
639	in ModuleDomainAnalyse.cpp
(gdb) 
640	in ModuleDomainAnalyse.cpp
(gdb) 
643	in ModuleDomainAnalyse.cpp
(gdb) 
644	in ModuleDomainAnalyse.cpp
(gdb) 
661	in ModuleDomainAnalyse.cpp
(gdb) 
665	in ModuleDomainAnalyse.cpp
(gdb) 
667	in ModuleDomainAnalyse.cpp
(gdb) 
668	in ModuleDomainAnalyse.cpp
(gdb) 
[Switching to Thread 0xf5589b90 (LWP 25385)]

Breakpoint 4, CThreadPoolManage::WorkThread (arg=0x0) at ../Pub/Util/ThreadPool.cpp:169
169	../Pub/Util/ThreadPool.cpp: 没有那个文件或目录.
	in ../Pub/Util/ThreadPool.cpp
(gdb) 
167	in ../Pub/Util/ThreadPool.cpp
(gdb) 
169	in ../Pub/Util/ThreadPool.cpp
(gdb) 
CThreadPoolManage::WorkThread() iThreadSeq=0 DealSeq=1
170	in ../Pub/Util/ThreadPool.cpp
(gdb) s
171	in ../Pub/Util/ThreadPool.cpp
(gdb) s
173	in ../Pub/Util/ThreadPool.cpp
(gdb) s
CDomainDnsValidateTask::Run (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:833
833	ModuleDomainAnalyse.cpp: 没有那个文件或目录.
	in ModuleDomainAnalyse.cpp
(gdb) n
835	in ModuleDomainAnalyse.cpp
(gdb) p this
$68 = (CDomainDnsValidateTask * const) 0x80fa858
(gdb) n
840	in ModuleDomainAnalyse.cpp
(gdb) 
843	in ModuleDomainAnalyse.cpp
(gdb) s
840	in ModuleDomainAnalyse.cpp
(gdb) s
CDomainAliveValidateTask::Run() Domain = smtp.com
843	in ModuleDomainAnalyse.cpp
(gdb) s
844	in ModuleDomainAnalyse.cpp
(gdb) s
map (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:844
844	in ModuleDomainAnalyse.cpp
(gdb) s
_Rb_tree (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:844
844	in ModuleDomainAnalyse.cpp
(gdb) s
_Rb_tree_impl (this=0x80fa858, nThreadSeq=0) at /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../include/c++/4.1.1/bits/stl_tree.h:411
411		    this->_M_header._M_left = &this->_M_header;
(gdb) s
412		    this->_M_header._M_right = &this->_M_header;
(gdb) s
CDomainDnsValidateTask::Run (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	ModuleDomainAnalyse.cpp: 没有那个文件或目录.
	in ModuleDomainAnalyse.cpp
(gdb) s
map (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree_impl (this=0x80fa858, nThreadSeq=0) at /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../include/c++/4.1.1/bits/stl_tree.h:411
411		    this->_M_header._M_left = &this->_M_header;
(gdb) 
412		    this->_M_header._M_right = &this->_M_header;
(gdb) 
CDomainDnsValidateTask::Run (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:846
846	ModuleDomainAnalyse.cpp: 没有那个文件或目录.
	in ModuleDomainAnalyse.cpp
(gdb) 
844	in ModuleDomainAnalyse.cpp
(gdb) 
map (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:844
844	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:844
844	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree_impl (this=0x80fa858, nThreadSeq=0) at /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../include/c++/4.1.1/bits/stl_tree.h:407
407		    _M_node_count(0)
(gdb) 
409		    this->_M_header._M_color = _S_red;
(gdb) 
410		    this->_M_header._M_parent = 0;
(gdb) 
CDomainDnsValidateTask::Run (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	ModuleDomainAnalyse.cpp: 没有那个文件或目录.
	in ModuleDomainAnalyse.cpp
(gdb) 
map (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree (this=0x80fa858, nThreadSeq=0) at ModuleDomainAnalyse.cpp:845
845	in ModuleDomainAnalyse.cpp
(gdb) 
_Rb_tree_impl (this=0x80fa858, nThre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值