Yanıtlar:
info locals
- Tüm yerel değişkenleri görüntüleyin; list - kaynağı görüntüle; rbreak - düzenli ifadeyle eşleşen fonksiyon.
set print object on
polimorfik elementler için ve set print elements 0
çok sık kullandığım iki komut. Oldukça kullanışlı.
t a a bt
(anlam thread apply all backtrace
). Diğer tüm komutlarla (neredeyse) kullanılabilir. Özellikle kullanışlıdır bt full
.
Metin kullanıcı arabirimi ile gdb'yi başlatma
gdb -tui
Gdb 7.0'dan başlayarak, tersine çevrilebilir hata ayıklama vardır , bu nedenle yeni favori komutlarınız:
* reverse-continue ('rc') -- Continue program being debugged but run it in reverse
* reverse-finish -- Execute backward until just before the selected stack frame is called
* reverse-next ('rn') -- Step program backward, proceeding through subroutine calls.
* reverse-nexti ('rni') -- Step backward one instruction, but proceed through called subroutines.
* reverse-step ('rs') -- Step program backward until it reaches the beginning of a previous source line
* reverse-stepi -- Step backward exactly one instruction
* set exec-direction (forward/reverse) -- Set direction of execution.
GDB'yi "-tui" parametresiyle başlatmak yerine, bir süre sonra "wh" yazarak da metin moduna geçebilirsiniz.
C-x a
. Ayrıca montajı görmek için tui modundayken C-x 1
ve ile görünümler C-x 2
arasında geçiş yapabilirsiniz (gerekirse).
Örneğin, stl-views.gdb dosyasında tanımlanan makrolar
-command=<file with gdb commands>
GDB'yi ateşlerken seçeneği kullanma . İle aynı -x <command file>
. Bu komut dosyası, kesme noktaları, seçenekler vb. Gibi gdb komutları içerebilir. Belirli bir yürütülebilir dosyanın gdb kullanarak art arda hata ayıklama işlemlerinden geçirilmesi gerektiğinde kullanışlıdır.
-iex
gdb komut satırına ayrı komutlar ekleme seçeneğini de kullanabilirsiniz .
komut dosyası gdb iyi bir hile, bunun dışında bir adım adım diğer iş parçacıklarının çalışmasını önlemek için zamanlayıcı kilitleme açık / kapalı ayarlamak gibi.
set scheduler-locking on
gdb içinde
tüm aktif evreleri listelemek için bilgi dizileri ve geçmek istediğiniz f (#) -> # evre numarası
bazen onaltılı veya ikili onaltılık dönüştürmek için gdb kullanın, onun yerine bir hesap makinesi açmak için çok kullanışlı
Program yürütme kod satırı nerede olduğunu vurgulayan bir ekran içeren bir alt işlem görmek için -tui seçeneği ile gdb başlatmak yerine, Cx o ve Cx a ile bu özelliğin içine ve dışına atlamak. Bu özelliği kullanıyorsanız ve özelliği geçici olarak kullanmamanız durumunda kullanışlıdır, böylece önceki komutu almak için yukarı oku kullanabilirsiniz.
focus cmd
yukarı / aşağı okların çalışmasını sağlamak için odağı komut penceresine değiştirebilirsiniz . Düğmesini kullanarak geri dönersiniz focus src
.
STL'de hata ayıklamak için, .gdbinit'e içerik ekleyin, şu talimatları izleyin: