estoy usando traza inversa() y backtrace_symbols() para traza de salida en SIGSEGV y otras señales en formato de esta manera:Cómo interpretar direcciones backtrace para la depuración con GDB
0: [0xb750818]
1: /opt/server/libQtScript.so.4(+0x6f42a) [0xb782c42a]
2: /opt/server/libQtScript.so.4(+0x7bffc) [0xb7838ffc]
3: /opt/server/libQtScript.so.4(+0x86946) [0xb7843946]
4: /opt/server/libQtScript.so.4(+0x7c4bc) [0xb78394bc]
5: /opt/server/libQtScript.so.4(+0x86946) [0xb7843946]
6: /opt/server/libQtScript.so.4(+0x9603e) [0xb785303e]
7: /opt/server/libQtScript.so.4(_ZN12QScriptValue4callERKS_RK5QListIS_E+0x2e7) [0xb7891647]
En este caso particular, el marco # 7 está bien para mí, aunque el cuadro 1-6 me da algunas direcciones tipo "+ x".
¿Cómo obtener la línea exacta en el desmontaje para "+ 0x6f42a" y otras direcciones en GDB? ¿Y qué marco # 0, sin módulo descrito, significa?
debug-file-directory es para GDB, pero estoy obteniendo traza inversa con símbolos sin adjuntar GDB. ¿Cómo asegurarse de que backtrace_symbols() obtenga todos los datos de símbolos? ¿Sería suficiente colocar un archivo .debug? Estos bloqueos son raros, por lo que no puedo reproducirlos en el entorno de desarrollo de la mina. –