Core.xxx Datei Analysieren

P

PascalM

Registriert
Thread Starter
Dabei seit
18.08.2016
Beiträge
2
Reaktionspunkte
0
Hi,

ich bin auf der suche, wie ich die oben genannten Datein analysieren/auswerten kann.
In diversen Foren werden Anleitungen dazu geschrieben, aber ganz so schlau werde ich daraus nicht.
Kann mir da eventuell jemand weiterhelfen?
 
Ein "core" File ist das Speicherabbild eines Prozesses.
Man kann es mit einem Debugger wie gdb oder lldb analysieren.
Das Programm sollte aber noch seine Symboltabelle haben.
Am besten ist, man hat dazu selbst noch den Quellcode, dann sieht man sogar die Zeilen.

Am Anfang reicht ein:
gdb /Pfad/zum/Programm /pfad/zum/core
bt

Der Befehl "bt" liefert den Stacktrace der zum Beenden des Programms führte.
Wenn man aber generrell wenig Erfharung hat, ist das wohl etwas schwer.

Du sdagst ja uach nicht, was das für ein Programm ist und wonach du schon gesucht hast.
 
Code:
# cat test.c 

int main(void)
{
    int *i = 0x0;
    printf("Hello\n");
    *i = 0xdeadbeef;
}

# gcc test.c -o test

# lldb test
(lldb) target create "test"
Current executable set to 'test' (x86_64).
(lldb) run
Process 1383 launched: '/Users/mau/test' (x86_64)
Hello
Process 1383 stopped
* thread #1: tid = 0x23139, 0x0000000100000f74 test`main + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000100000f74 test`main + 36
test`main:
->  0x100000f74 <+36>: movl   $0xdeadbeef, (%rdi)       ; imm = 0xDEADBEEF 
    0x100000f7a <+42>: movl   %eax, -0xc(%rbp)
    0x100000f7d <+45>: movl   %ecx, %eax
    0x100000f7f <+47>: addq   $0x10, %rsp

(lldb) bt
* thread #1: tid = 0x23139, 0x0000000100000f74 test`main + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000100000f74 test`main + 36
    frame #1: 0x00007fff972b15ad libdyld.dylib`start + 1
    frame #2: 0x00007fff972b15ad libdyld.dylib`start + 1
(lldb)
 
Hi,

Was ist aber wenn ich nicht weiß, welches Core file zu welchem Programm gehört ?
Da scheitert es nämlich bei mir...
 
wirf doch mal die core datei auf einen hexeditor, vielleicht kann man dort irgendwelche strings erkennen und dadurch das programm …
 
Code:
# lldb -c core.1465 
(lldb) target create --core "core.1465"
warning: (x86_64) /cores/core.1465 load command 52 LC_SEGMENT_64 has a fileoff + filesize (0x261db000) that extends beyond the end of the file (0x261da000), the segment will be truncated to match
Core file '/cores/core.1465' (x86_64) was loaded.

(lldb) target list
Current targets:
* target #0: /Users/mau/./test ( arch=x86_64-*-*, platform=host, state=stopped )
 
Zurück
Oben Unten