2010-09-19 23 views
7

¿Hay alguna forma de comprobar si se ha establecido una variable de conveniencia en gdb?Comprobando si se ha definido una variable de conveniencia gdb

Por ejemplo:

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

$_exitcode es void porque no se establece hasta que el programa termina. La construcción disponible más cercana es init-if-undefined, pero esto requeriría establecer la variable a algún valor centinela y probarlo.

Respuesta

2

Tengo el mismo problema ... no se puede comprobar si una variable se ha configurado o no, por lo que sé en GDB ... podría ejecutarlo a través de python, probablemente, y tener toda la secuencia de comandos de esa manera , pero no estoy seguro de que las secuencias de comandos de Python en GDB son persistentes o se ejecutan todo el tiempo. Se podría hacer algo como ..

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

Desde código de salida proceso normal está en algún lugar entre 0 y 255, sugiero siguiente:

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