Hoje fui pego de surpresa por gdb:
Program exited with code 0146.
gdbimprime o código de retorno em octal ; procurando por que encontrei:
http://comments.gmane.org/gmane.comp.gdb.devel/30363
Mas essa não é uma resposta particularmente satisfatória. Uma pesquisa rápida no Google não revelou a história, então eu esperava que alguém na SO conhecesse a história por trás.
Uma pergunta um tanto relacionada, como alguém veria o código de retorno em octal? Talvez máquinas mais antigas sempre imprimissem o código de retorno?
$ printf %o\\n $?
É muito estranho :)
man asciiseria inútil converter octal em decimal. bcseria uma escolha melhor.
$?é o valor do shell para o código de retorno e é um dígito decimal (ou o gdb também suporta o seu exemplo de cmd?). Não sei por que o gdb o informa em octal. Minha solução é sair do campoman asciipara ver o que significam os valores octais. Pergunta interessante, como você também encontra valores octais de outros programas. Talvez isso seja discutido no 'Unix Programming Envioronment' de Kernighan e Pike. Boa sorte.