windbg 调试dump

1. windbg载入dump,设置符号pdb

2.执行命令

!analyze -v

.ecxr

3.如果要查看当前栈上所有的符号信息

!teb

0:046> !teb
TEB at 7ef1e000
    ExceptionList:        07ebecd0
    StackBase:            07ec0000
    StackLimit:           07eb9000
    SubSystemTib:         00000000
    FiberData:            00001e00
    ArbitraryUserPointer: 00000000
    Self:                 7ef1e000
    EnvironmentPointer:   00000000
    ClientId:             00001e4c . 00001770
    RpcHandle:            00000000
    Tls Storage:          7ef1e02c
    PEB Address:          7efde000
    LastErrorValue:       87
    LastStatusValue:      c000000d
    Count Owned Locks:    0
    HardErrorMode:        0

得到!teb.StackBase

执行

.foreach /pS 1 /ps 1 (myVariable {dd /c 1 esp 0x07ec0000}){ln myVariable;}


0:046> .foreach /pS 1 /ps 1 (myVariable {dd /c 1 esp 0x07ec0000}){ln myVariable;}
(01daa590)   GlobalServer!_stricmp_l+0x2300b3   |  (0208c070)   GlobalServer!`dynamic initializer for 'std::_Error_objects<int>::_Iostream_object''
g:\arpg_sdmb\program\server\source\server\globalserver\globalserver.cpp(89)
(014dc710)   GlobalServer!GlobalServer::_Update+0x70   |  (014dc820)   GlobalServer!std::deque<AsyncWork *,std::allocator<AsyncWork *> >::_Xlen
g:\arpg_sdmb\program\server\source\server\globalserver\globalserver.cpp(39)+0x13
(014db670)   GlobalServer!GlobalServer::_Kernel+0x5a   |  (014db7f0)   GlobalServer!std::list<AsyncWork *,std::allocator<AsyncWork *> >::_Make_iter
g:\arpg_sdmb\program\server\source\gamebase\thread.cpp(145)+0xf
(0150dcf0)   GlobalServer!Thread::_Run+0xeb   |  (0150dea0)   GlobalServer!std::vector<WatchDogThread::WatchDogData *,SAllocator<WatchDogThread::WatchDogData *> >::_Unused_capacity
(01daa590)   GlobalServer!_stricmp_l+0x241578   |  (0208c070)   GlobalServer!`dynamic initializer for 'std::_Error_objects<int>::_Iostream_object''
g:\arpg_sdmb\program\server\source\gamebase\thread.cpp(55)
(0150e580)   GlobalServer!thread_fun+0x4c   |  (0150e5f0)   GlobalServer!std::_Debug_pointer<Thread *>
(10004310)   pthreadVC2!ptw32_push_cleanup+0x530   |  (10004a30)   pthreadVC2!sched_get_priority_max
g:\arpg_sdmb\program\server\source\gamebase\thread.cpp(46)
(0150e580)   GlobalServer!thread_fun   |  (0150e5f0)   GlobalServer!std::_Debug_pointer<Thread *>
Exact matches:
    GlobalServer!thread_fun (void *)
(7297f213)   msvcr110!_beginthreadex+0xb4   |  (7297f288)   msvcr110!__get_flsindex
(7296a6e0)   msvcr110!_except_handler4   |  (7296a71f)   msvcr110!__strgtold12_l
Exact matches:
    msvcr110!_except_handler4 (<no parameter info>)
(7297f315)   msvcr110!_endthreadex+0x102   |  (7297f400)   msvcr110!swscanf
(759d3378)   kernel32!BaseThreadInitThunk+0xe   |  (759d3396)   kernel32!ConDllInitialize
(77a39f4b)   ntdll!__RtlUserThreadStart+0x70   |  (77a39f86)   ntdll!LdrpAllocateTls
(759f76f7)   kernel32!UnhandledExceptionFilter   |  (759f7839)   kernel32!BasepReportFault
Exact matches:
    kernel32!UnhandledExceptionFilter (<no parameter info>)
(759f76f7)   kernel32!UnhandledExceptionFilter   |  (759f7839)   kernel32!BasepReportFault
Exact matches:
    kernel32!UnhandledExceptionFilter (<no parameter info>)
(77a771f5)   ntdll!_except_handler4   |  (77a772d8)   ntdll!_local_unwind4
Exact matches:
    ntdll!_except_handler4 (<no parameter info>)
(77a39f2a)   ntdll!_RtlUserThreadStart+0x1b   |  (77a39f4b)   ntdll!__RtlUserThreadStart
(7297f315)   msvcr110!_endthreadex+0x86   |  (7297f400)   msvcr110!swscanf
(7297f315)   msvcr110!_endthreadex+0x86   |  (7297f400)   msvcr110!swscanf
Syntax error at '????????;'

这边算是对上一篇 调试Crash dump时,没有任何栈信息的一种恢复的补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值