Hoy me puse desprevenido por gdb
:
Program exited with code 0146.
gdb
imprime el código de retorno en octal ; buscando por qué encontré:
http://comments.gmane.org/gmane.comp.gdb.devel/30363
Pero esa no es una respuesta particularmente satisfactoria. Algunas búsquedas rápidas en Google no revelaron la historia, por lo que esperaba que alguien en SO supiera la historia de fondo.
Una pregunta algo relacionada, ¿cómo se vería el código de retorno en octal? ¿Quizás las máquinas más antiguas siempre imprimen el código de retorno?
$ printf %o\\n $?
Es bastante incómodo :)
man ascii
no sería útil para convertir octal a decimal. bc
Sería una mejor opción.
$?
es el valor del shell para el código de retorno y es un dígito decimal (¿o gdb también admite su cmd de ejemplo?). No sé por qué gdb lo informa en octal. Mi solución es salir del olman ascii
para ver qué significan los valores octales. Pregunta interesante, ya que también te encuentras con valores octales de otros programas. Tal vez se discuta en Kernighan y Pike 'Unix Programming Envioronment'. Buena suerte.