Ho un'applicazione C++ multithreading linux. Ora è testato sui server di produzione e ha segfault. Il problema è che non riesco a riprodurre quell'errore su nessuno dei miei server di prova e non ho accesso ai server di produzione. Non ho discariche o altre informazioni utili. Solo la linea: segfault a 0000000046bf0fb8 rip 000000000048ac6b RSP 0000000046bf0fa0 errore 6Linux/C++ Come eseguire il debug dell'applicazione di rilascio
Vorrei chiedere comunità posso ottenere da tale linea alcune informazioni che vi aiuteranno a diminuire zona di possibili luoghi dove dovrei cercare. Non riesco a eseguire il debug build sulla produzione a causa della sua bassa velocità. Cosa posso aggiungere al rilascio che mi aiuta a eseguire il debug? Questo bug sembra un bug multithread e difficile da riprodurre. Ma non ne sono sicuro, perché l'applicazione funziona con molte e-mail diverse da MTA.
Piattaforma: Linux
linea Compiler: g ++ -O3 -D_REENTRANT
Grazie.
upd .: Grazie per le vostre risposte. Posso includere informazioni di debug. Mi piacerebbe conoscere i metodi di base per il debug delle versioni di rilascio. Ad esempio ho scaricato e versione di rilascio. Come dovrei continuare Cosa dovrei leggere a riguardo? Puoi spiegare in poche parole come esegui il debug dell'applicazione, se possibile? Grazie.
Grazie. Posso includere informazioni di debug. Mi piacerebbe conoscere i metodi di base per il debug delle versioni di rilascio. Ad esempio ho scaricato e versione di rilascio. Come dovrei continuare Cosa dovrei leggere a riguardo? Puoi spiegare in poche parole come esegui il debug dell'applicazione, se possibile? Grazie. – Dmitriy
@Dmitriy Il debug delle versioni di rilascio non è in alcun modo diverso dal debug di build di debug. Potresti provare che non puoi vedere determinate variabili quando passi attraverso il codice, poiché il compilatore potrebbe averle ottimizzate lontano da quella posizione, ma altrimenti è uguale al debug di una build non di rilascio. – lothar