Jon*_*ams 9 c++ windows debugging windbg
我试图通过Windows调试器CDB在我附加的进程中调用C++函数.
该功能定义为:
void LockerImpl<IsForMMAPV1>::dump() const { ... }
Run Code Online (Sandbox Code Playgroud)
使用CDB命令在CDB中找到符号,如下所示
x mongod!*dump
00007ff6`2d006be0 mongod!mongo::LockerImpl<0>::dump (void)
00007ff6`2d006640 mongod!mongo::LockerImpl<1>::dump (void)
x /v mongod!mongo::LockerImpl<0>::dump
prv func 00007ff6`cfcf6be0 597 mongod!mongo::LockerImpl<0>::dump (void)
x /v mongod!mongo::LockerImpl<1>::dump
prv func 00007ff6`cfcf6640 597 mongod!mongo::LockerImpl<1>::dump (void)
Run Code Online (Sandbox Code Playgroud)
调用这些符号会产生错误:
.call /v mongod!mongo::LockerImpl<0>::dump()
Run Code Online (Sandbox Code Playgroud)
无法解决'mongod!mongo :: LockerImpl <0> :: dump()'中的错误
我也尝试使用"装饰名称"调用它,但结果相同.其他变化也失败了:
.call /v @!("mongod!mongo::LockerImpl<1>::dump()")
.call /v mongod!mongo::LockerImpl<0>::dump(mongod!mongo::`anonymous namespace'::globalLockManager)
Run Code Online (Sandbox Code Playgroud)
无法解决'mongod!mongo :: LockerImpl <0> :: dump(mongod!mongo ::`anonymous namespace':: globalLockManager)'中的错误
我也尝试传递globalLockManager实例的地址,即
u mongod!mongo::getGlobalLockManager
mongod!mongo::getGlobalLockManager [c:\data\mci\c286593757a3793e6b070bc761c736b0\src\src\mongo\db\concurrency\lock_state.cpp @ 940]:
00007ff6`cfcf76a0 488d0539b0e301 lea rax,[mongod!mongo::`anonymous namespace'::globalLockManager (00007ff6`d1b326e0)]
ln 0x00007ff6d1b326e0
(00007ff6`d1b326e0) mongod!mongo::`anonymous namespace'::globalLockManager | (00007ff6`d1b326f0) mongod!mongo::`anonymous namespace'::unusedLockCleaner
Exact matches:
Run Code Online (Sandbox Code Playgroud)
使用globalLockManager实例地址调用它:
.call /v mongod!mongo::LockerImpl<0>::dump(0x00007ff6d1b326e0)
Run Code Online (Sandbox Code Playgroud)
无法解决'mongod!mongo :: LockerImpl <0> :: dump(0x00007ff6d1b326e0)'中的错误
其他类型的说明是:
typedef LockerImpl<false> DefaultLockerImpl;
typedef LockerImpl<true> MMAPV1LockerImpl;
Run Code Online (Sandbox Code Playgroud)
注意,可以从Linux/GDB调用该函数,如下所示:
call ('mongo::(anonymous namespace)::globalLockManager').dump()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |