2009-08-06 12 views
3

Hier ist eine Liste von Bruchstellen ~/.gdbinit setzen in die beim Debuggen von Speicherprobleme wirklich hilfreich sind:Wie setze ich diese Unterbrechungspunkte in ~/.gdbinit?

fb -[NSException raise] 
fb -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] 
fb -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] 

#define NSZombies 
# this will give you help messages. Set to NO to turn them off. 
set env MallocHelp=YES 
# might also be set in launch arguments. 
set env NSZombieEnabled=YES 
set env NSDeallocateZombies=NO 
set env MallocCheckHeapEach=100000 
set env MallocCheckHeapStart=100000 
set env MallocScribble=YES 
set env MallocGuardEdges=YES 
set env MallocCheckHeapAbort=1 

set env CFZombie 5 

fb -[_NSZombie init] 
fb -[_NSZombie retainCount] 
fb -[_NSZombie retain] 
fb -[_NSZombie release] 
fb -[_NSZombie autorelease] 
fb -[_NSZombie methodSignatureForSelector:] 
fb -[_NSZombie respondsToSelector:] 
fb -[_NSZombie forwardInvocation:] 
fb -[_NSZombie class] 
fb -[_NSZombie dealloc] 

fb szone_error 
+0

Diese können zwar hilfreich sein, aber gibt es da eine Frage? SO ist kein Wiki für das Posten nützlicher Tipps - diese gehören auf http://www.cocoadev.com, zumindest für Objective-C und Cocoa. –

+0

@Quinn: es kann sein, aber laut der FAQ sollte es als Frage gepostet werden, die du dann selbst beantworten kannst;) –

Antwort

3

Der Titel bedeutet dies, dass Sie sich fragen, wie diese setzen in ~/.gdbinit aber die erste Zeile Ihrer detaillierten Frage zeigt an, dass Sie die oben genannten in ~/.gdbinit haben?

Was genau ist dann das Problem?

Ich benutze etwas ziemlich ähnliches und es funktioniert gut, aber da vieles davon ziemlich aufdringlich Verhaltensänderungen ist, lege ich es in eine separate Datei (~/.gdbmem) und dann Quelle wie benötigt.

Mein ~/.gdbinit ist fast ausschließlich auf Makrodefinitionen beschränkt, die die Debugsitzung nicht ändern. Daher hat das Standardverhalten nur eine minimale Auswirkung auf das Debugging und ich kann eine von 2 zusätzlichen Dateien voll von gdb config goop beziehen, um automatisch eine relativ eindringliche zusätzliche Konfiguration auf die Umgebung anzuwenden.

+0

ich weiß nicht was ist das ~/.gdbinit? wo soll ich in xcode ??? –

+0

Es ist nicht in Xcode; .gdbinit ist eine Datei, die Sie in Ihrem Home-Verzeichnis ablegen können, das gdb beim Start von gdb analysieren wird, entweder von der Befehlszeile oder von Xcode aus. – bbum

+0

Könnten Sie es bitte klarer machen ... wie erstelle ich .gdbinit Datei und wie parse ich das von xcode –