如何打印变量地址/值,这会在我的函数中导致核心转储。
从gdb反汇编命令,我看到以下帧。
0x00000000005f3ae5 <+8373>: movl $0x404,(%rsp)
0x00000000005f3aec <+8380>: mov $0xda56f5,%r9d
0x00000000005f3af2 <+8386>: mov $0xda77f0,%r8d
0x00000000005f3af8 <+8392>: mov $0xda6870,%ecx
0x00000000005f3afd <+8397>: jmpq 0x5f1c15 <RmsArchiveRestSession::buildAndSendArchMmsReq(bool)+485>
0x00000000005f3b02 <+8402>: callq 0x5daaa0 <__stack_chk_fail@plt> ==> cause of dump
在这里,如何打印调用_stack_chk_fail
函数的变量值/地址?
我对此很新..?请解释一些基本的基金。
=> 0x00000000005f3b07 <+8407>: mov %rax,%r15
0x00000000005f3b0a <+8410>: mov %r13,%rdi
0x00000000005f3b0d <+8413>: callq 0x8514f0 <MavString::~MavString()>
请有人帮我理解上面的片段。
答案 0 :(得分:0)
在这里,我如何打印导致调用_stack_chk_fail的变量值/地址
你不能:你问题中的片段是#34;太晚了#34;。您的函数中有jmp 0x5f3b0d
某处 else ,而 是检测到失败的地方。