您的位置:首页 > 其它

dmesg 程序崩溃调试

2016-05-29 13:25 375 查看
[root@localhostlog]#cat-n/root/xx.c
1
2
3#include<stdio.h>
4
5voidfunc(char*p)
6{
7*p='p';
8}
9
10intmain(intargc,char*argv[])
11{
12char*p=NULL;
13func(p);
14
15return0;
16}

[root@localhostlog]#/root/xx


[root@localhostlog]#dmesgxx[8226]:segfaultat0ip0000000000400454sp00007fffcb8b6360error6inxx[400000+1000]
[root@localhostlog]#objdump-d/root/xx/root/xx:fileformatelf64-x86-64Disassemblyofsection.init:0000000000400338<_init>:
400338:4883ec08sub$0x8,%rsp
40033c:e85b000000callq40039c<call_gmon_start>
400341:e8da000000callq400420<frame_dummy>
400346:e8d5010000callq400520<__do_global_ctors_aux>
40034b:4883c408add$0x8,%rsp
40034f:c3retq
Disassemblyofsection.plt:0000000000400350<__libc_start_main@plt-0x10>:
400350:ff35d2042000pushq2098386(%rip)#600828<_GLOBAL_OFFSET_TABLE_+0x8>
400356:ff25d4042000jmpq*2098388(%rip)#600830<_GLOBAL_OFFSET_TABLE_+0x10>
40035c:0f1f4000nopl0x0(%rax)0000000000400360<__libc_start_main@plt>:
400360:ff25d2042000jmpq*2098386(%rip)#600838<_GLOBAL_OFFSET_TABLE_+0x18>
400366:6800000000pushq$0x0
40036b:e9e0ffffffjmpq400350<_init+0x18>
Disassemblyofsection.text:0000000000400370<_start>:
400370:31edxor%ebp,%ebp
400372:4989d1mov%rdx,%r9
400375:5epop%rsi
400376:4889e2mov%rsp,%rdx
400379:4883e4f0and$0xfffffffffffffff0,%rsp
40037d:50push%rax
40037e:54push%rsp
40037f:49c7c080044000mov$0x400480,%r8
400386:48c7c190044000mov$0x400490,%rcx
40038d:48c7c759044000mov$0x400459,%rdi
400394:e8c7ffffffcallq400360<__libc_start_main@plt>
400399:f4hlt
40039a:90nop
40039b:90nop000000000040039c<call_gmon_start>:
40039c:4883ec08sub$0x8,%rsp
4003a0:488b0571042000mov2098289(%rip),%rax#600818<_DYNAMIC+0x190>
4003a7:4885c0test%rax,%rax
4003aa:7402je4003ae<call_gmon_start+0x12>
4003ac:ffd0callq*%rax
4003ae:4883c408add$0x8,%rsp
4003b2:c3retq
4003b3:90nop
4003b4:90nop
4003b5:90nop
4003b6:90nop
4003b7:90nop
4003b8:90nop
4003b9:90nop
4003ba:90nop
4003bb:90nop
4003bc:90nop
4003bd:90nop
4003be:90nop
4003bf:90nop00000000004003c0<__do_global_dtors_aux>:
4003c0:55push%rbp
4003c1:4889e5mov%rsp,%rbp
4003c4:53push%rbx
4003c5:4883ec08sub$0x8,%rsp
4003c9:803d8004200000cmpb$0x0,2098304(%rip)#600850<completed.6145>
4003d0:7544jne400416<__do_global_dtors_aux+0x56>
4003d2:b878066000mov$0x600678,%eax
4003d7:482d70066000sub$0x600670,%rax
4003dd:48c1f803sar$0x3,%rax
4003e1:488d58fflea0xffffffffffffffff(%rax),%rbx
4003e5:488b055c042000mov2098268(%rip),%rax#600848<dtor_idx.6147>
4003ec:4839c3cmp%rax,%rbx
4003ef:761ejbe40040f<__do_global_dtors_aux+0x4f>
4003f1:4883c001add$0x1,%rax
4003f5:4889054c042000mov%rax,2098252(%rip)#600848<dtor_idx.6147>
4003fc:ff14c570066000callq*0x600670(,%rax,8)
400403:488b053e042000mov2098238(%rip),%rax#600848<dtor_idx.6147>
40040a:4839c3cmp%rax,%rbx
40040d:77e2ja4003f1<__do_global_dtors_aux+0x31>
40040f:c6053a04200001movb$0x1,2098234(%rip)#600850<completed.6145>
400416:4883c408add$0x8,%rsp
40041a:5bpop%rbx
40041b:c9leaveq
40041c:c3retq
40041d:0f1f00nopl(%rax)0000000000400420<frame_dummy>:
400420:55push%rbp
400421:48833d57022000cmpq$0x0,2097751(%rip)#600680<__JCR_END__>
400428:00
400429:4889e5mov%rsp,%rbp
40042c:7416je400444<frame_dummy+0x24>
40042e:b800000000mov$0x0,%eax
400433:4885c0test%rax,%rax
400436:740cje400444<frame_dummy+0x24>
400438:bf80066000mov$0x600680,%edi
40043d:4989c3mov%rax,%r11
400440:c9leaveq
400441:41ffe3jmpq*%r11
400444:c9leaveq
400445:c3retq
400446:90nop
400447:90nop0000000000400448<func>:
400448:55push%rbp
400449:4889e5mov%rsp,%rbp
40044c:48897df8mov%rdi,0xfffffffffffffff8(%rbp)
400450:488b45f8mov0xfffffffffffffff8(%rbp),%rax
400454:c60070movb$0x70,(%rax)
400457:c9leaveq
400458:c3retq0000000000400459<main>:
400459:55push%rbp
40045a:4889e5mov%rsp,%rbp
40045d:4883ec20sub$0x20,%rsp
400461:897decmov%edi,0xffffffffffffffec(%rbp)
400464:488975e0mov%rsi,0xffffffffffffffe0(%rbp)
400468:48c745f8000000movq$0x0,0xfffffffffffffff8(%rbp)
40046f:00
400470:488b7df8mov0xfffffffffffffff8(%rbp),%rdi
400474:e8cfffffffcallq400448<func>
400479:b800000000mov$0x0,%eax
40047e:c9leaveq
40047f:c3retq0000000000400480<__libc_csu_fini>:
400480:f3c3repzretq
400482:0f1f8000000000nopl0x0(%rax)
400489:0f1f8000000000nopl0x0(%rax)0000000000400490<__libc_csu_init>:
400490:4c896424e0mov%r12,0xffffffffffffffe0(%rsp)
400495:4c896c24e8mov%r13,0xffffffffffffffe8(%rsp)
40049a:4c8d25bb012000lea2097595(%rip),%r12#60065c<__fini_array_end>
4004a1:4c897424f0mov%r14,0xfffffffffffffff0(%rsp)
4004a6:4c897c24f8mov%r15,0xfffffffffffffff8(%rsp)
4004ab:4989f6mov%rsi,%r14
4004ae:48895c24d0mov%rbx,0xffffffffffffffd0(%rsp)
4004b3:48896c24d8mov%rbp,0xffffffffffffffd8(%rsp)
4004b8:4883ec38sub$0x38,%rsp
4004bc:4189ffmov%edi,%r15d
4004bf:4989d5mov%rdx,%r13
4004c2:e871feffffcallq400338<_init>
4004c7:488d058e012000lea2097550(%rip),%rax#60065c<__fini_array_end>
4004ce:4929c4sub%rax,%r12
4004d1:49c1fc03sar$0x3,%r12
4004d5:4d85e4test%r12,%r12
4004d8:741eje4004f8<__libc_csu_init+0x68>
4004da:31edxor%ebp,%ebp
4004dc:4889c3mov%rax,%rbx
4004df:90nop
4004e0:4883c501add$0x1,%rbp
4004e4:4c89eamov%r13,%rdx
4004e7:4c89f6mov%r14,%rsi
4004ea:4489ffmov%r15d,%edi
4004ed:ff13callq*(%rbx)
4004ef:4883c308add$0x8,%rbx
4004f3:4939eccmp%rbp,%r12
4004f6:75e8jne4004e0<__libc_csu_init+0x50>
4004f8:488b5c2408mov0x8(%rsp),%rbx
4004fd:488b6c2410mov0x10(%rsp),%rbp
400502:4c8b642418mov0x18(%rsp),%r12
400507:4c8b6c2420mov0x20(%rsp),%r13
40050c:4c8b742428mov0x28(%rsp),%r14
400511:4c8b7c2430mov0x30(%rsp),%r15
400516:4883c438add$0x38,%rsp
40051a:c3retq
40051b:90nop
40051c:90nop
40051d:90nop
40051e:90nop
40051f:90nop0000000000400520<__do_global_ctors_aux>:
400520:55push%rbp
400521:4889e5mov%rsp,%rbp
400524:53push%rbx
400525:bb60066000mov$0x600660,%ebx
40052a:4883ec08sub$0x8,%rsp
40052e:488b052b012000mov2097451(%rip),%rax#600660<__CTOR_LIST__>
400535:4883f8ffcmp$0xffffffffffffffff,%rax
400539:7414je40054f<__do_global_ctors_aux+0x2f>
40053b:0f1f440000nopl0x0(%rax,%rax,1)
400540:4883eb08sub$0x8,%rbx
400544:ffd0callq*%rax
400546:488b03mov(%rbx),%rax
400549:4883f8ffcmp$0xffffffffffffffff,%rax
40054d:75f1jne400540<__do_global_ctors_aux+0x20>
40054f:4883c408add$0x8,%rsp
400553:5bpop%rbx
400554:c9leaveq
400555:c3retq
400556:90nop
400557:90nop
Disassemblyofsection.fini:0000000000400558<_fini>:
400558:4883ec08sub$0x8,%rsp
40055c:e85ffeffffcallq4003c0<__do_global_dtors_aux>
400561:4883c408add$0x8,%rsp
400565:c3retq[root@localhostlog]#objdump-d/root/xx|grep-C5400454
0000000000400448<func>:
400448:55push%rbp
400449:4889e5mov%rsp,%rbp
40044c:48897df8mov%rdi,0xfffffffffffffff8(%rbp)
400450:488b45f8mov0xfffffffffffffff8(%rbp),%rax
400454:c60070movb$0x70,(%rax)
400457:c9leaveq
400458:c3retq0000000000400459<main>:
400459:55push%rbp
Usage:addr2line[option(s)][addr(s)]
Convertaddressesintolinenumber/filenamepairs.
Ifnoaddressesarespecifiedonthecommandline,theywillbereadfromstdin
Theoptionsare:
@<file>Readoptionsfrom<file>
-b--target=<bfdname>Setthebinaryfileformat
-e--exe=<executable>Settheinputfilename(defaultisa.out)
-i--inlinesUnwindinlinedfunctions
-j--section=<name>Readsection-relativeoffsetsinsteadofaddresses
-s--basenamesStripdirectorynames
-f--functionsShowfunctionnames
-C--demangle[=style]Demanglefunctionnames
-h--helpDisplaythisinformation
-v--versionDisplaytheprogram'sversion[root@localhostlog]#addr2line-e/root/xx0x400454
/root/xx.c:7
gdb调试:[root@localhost~]#gdb./xx
GNUgdb(GDB)7.7
Copyright(C)2014FreeSoftwareFoundation,Inc.
LicenseGPLv3+:GNUGPLversion3orlater<http://gnu.org/licenses/gpl.html>
Thisisfreesoftware:youarefreetochangeandredistributeit.
ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"
and"showwarranty"fordetails.
ThisGDBwasconfiguredas"x86_64-unknown-linux-gnu".
Type"showconfiguration"forconfigurationdetails.
Forbugreportinginstructions,pleasesee:
<http://www.gnu.org/software/gdb/bugs/>.
FindtheGDBmanualandotherdocumentationresourcesonlineat:
<http://www.gnu.org/software/gdb/documentation/>.
Forhelp,type"help".
Type"aproposword"tosearchforcommandsrelatedto"word"...
Readingsymbolsfrom./xx...done.(gdb)disas0x400454
Dumpofassemblercodeforfunctionfunc:
0x0000000000400448<+0>:push%rbp
0x0000000000400449<+1>:mov%rsp,%rbp
0x000000000040044c<+4>:mov%rdi,-0x8(%rbp)
0x0000000000400450<+8>:mov-0x8(%rbp),%rax
0x0000000000400454<+12>:movb$0x70,(%rax)
0x0000000000400457<+15>:leaveq
0x0000000000400458<+16>:retq
Endofassemblerdump.
(gdb)listfunc
1
2
3#include<stdio.h>
4
5voidfunc(char*p)
6{
7*p='p';
8}
9
10intmain(intargc,char*argv[])


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: