2010-09-19 31 views
7

Gdb'de bir uygunluk değişkeni ayarlandıysa test etmenin bir yolu var mı? ÖrneğinBir gdb uygunluk değişkeni tanımlandıysa test etme

: Program sonlanana kadar o ayarlanmadığı için

 
(gdb) if $_exitcode == 0 
>quit 
>end 
Invalid type combination in equality test. 
(gdb) p $_exitcode 
$1 = void 

$_exitcodevoid olduğunu. En yakın mevcut yapı init-if-undefined'dur, ancak bu değişkenin bazı sentinel değerlere ayarlanmasını ve buna karşı test edilmesini gerektirir.

cevap

2

Aynı sorunu yaşıyorum .. GDB'de bildiğim kadarıyla bir değişkenin ayarlanıp ayarlanmadığını kontrol edemezsiniz .. muhtemelen python ile çalıştırabilir ve tüm komut dosyasını bu şekilde çalıştırabilirsiniz. Ama emin değilim ki, GDB'deki python betikleri sürekli ya da sürekli çalışıyor. Normal süreç çıkış kodu yana gibi bir şey ..

init-if-undefined $_exitcode = 1 
if $_exitcode == 0 
quit 
end 
end 
4

yapabileceğini 0 ile 255 arasında bir yerdedir, ben uygulamanızı öneririz:

init-if-undefined $_exitcode = -1 
if ($_exitcode != -1) 
    quit 
end