2013-07-16 4 views
1

J'essaie d'obtenir des informations DWARF à partir d'un fichier C++ en utilisant dwarfdump. Le fichier C++ est très simple -dwarfdump est vide lors de l'utilisation des options de débogage

int foo(); 

Je le compiler en faisant g++ -g -c test.cpp. Je fais alors dwarfdump test.o, mais pour une raison quelconque, je reçois

---------------------------------------------------------------------- 
File: test.o (x86_64) 
---------------------------------------------------------------------- 
.debug_info contents: 
<EMPTY> 

Pourquoi est-ce? Et comment puis-je obtenir mes informations de débogage nain?

+0

avez-vous essayé -gdwarf-2 – Vishal

Répondre

0

J'ai compris ce qui n'allait pas. Aucune information de débogage n'a été générée. C'est parce que l'optimiseur réalise que int foo(); n'est jamais appelé et n'a aucune déclaration, et en tant que tel n'a pas besoin d'informations de débogage. Le changement de la fonction à

int foo(){ 
    int x=5; 
} 

est suffisant pour générer des informations de débogage.

Questions connexes