Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision |
eclipse:debuggen [2011/08/11 15:09] – twaldecker | eclipse:debuggen [2011/11/28 08:49] – [Debuggen mit Eclipse und gdb] twaldecker |
---|
====== Debuggen mit Eclipse und gdb ====== | ====== Debuggen mit Eclipse und gdb ====== |
{{ :eclipse:screenshot-debug_-_hello_world-hello_world.c_-_eclipse_-1.png?800 |}} | {{ :eclipse:screenshot-debug_-_hello_world-hello_world.c_-_eclipse_-1.png?600 |}} |
===== Verbindung zum Target ===== | ===== Verbindung zum Target ===== |
Zuerst muss mit dem Remote System Explorer eine Verbindung zum TQ-Modul aufgebaut werden. Eine Schritt für Schritt anleitung ist auf dieser Wikiseite: | Zuerst muss mit dem Remote System Explorer eine Verbindung zum TQ-Modul aufgebaut werden. Eine Schritt für Schritt anleitung ist auf dieser Wikiseite: |
- Das Konfigurationsfenster im Menü ''Run > Debug Configurations...'' öffnen. {{ :eclipse:screenshot-debug_configurations_.png? |}} | - Das Konfigurationsfenster im Menü ''Run > Debug Configurations...'' öffnen. {{ :eclipse:screenshot-debug_configurations_.png? |}} |
- Dort eine neue ''C/C++ Remote Application'' Konfiguration erstellen. | - Dort eine neue ''C/C++ Remote Application'' Konfiguration erstellen. |
- Zuerst ganz unten als Launcher bei ''Select other'' den ''Standard Remote Create Process Launcher'' auswählen. | - Zuerst ganz unten als Launcher ''Select other'' auswählen. In dem erschienenen Fenster das Häckchen bei ''Use configuration specific settings'' setzen und dann den ''Standard Remote Create Process Launcher'' auswählen. |
- Dann im Reiter ''Main'' als Connection die vorhin erstellte Verbindung auswählen. | - Dann im Reiter ''Main'' als Connection die vorhin erstellte Verbindung auswählen. |
| - Es muss auch noch der ''Remote Absolute File Path for C/C++ Application'' angegeben werden (am besten über die Schaltfläche ''Browse...''. |
- Die Projekt- und Applicationeinstellungen sollten richtig gesetzt sein. | - Die Projekt- und Applicationeinstellungen sollten richtig gesetzt sein. |
- Im Reiter ''Arguments'' können zusätzliche Parameter dem zu debuggenden Programm übergeben werden. | - Im Reiter ''Arguments'' können zusätzliche Parameter dem zu debuggenden Programm übergeben werden. |
- Im Reiter ''Debugger'' muss bei den ''Debugger Options'' im Reiter Main der GDB debugger auf arm-linux-gdb | - Im Reiter ''Debugger'' muss bei den ''Debugger Options'' im Reiter Main der GDB debugger auf den richtigen GDB in unserem Fall ''arm-linux-gdb'' gesetzt werden. {{ :eclipse:screenshot-debug_configurations_-1.png?nolink& |}} |
| - In den ''Debugger Options'' muss auch noch der Pfad zu den Shared Libraries des Moduls auf dem Hostsystem hinzugefügt werden. Dieser ist hier ''/opt/eldk/arm/lib''{{ :eclipse:screenshot-debug_configurations_-2.png?nolink& |}} |
| - Im Reiter ''Gdbserver Settings'' ist nichts zu tun. {{ :eclipse:screenshot-debug_configurations_-3.png?nolink& |}} |
| - Dann mit ''Apply'' die Einstellungen Speichern und mit ''Debug'' das debuggen beginnen. |
| |
| ===== Fehlerbehebung ===== |
| ==== No source available ==== |
| Beim starten des Debugvorgangs wird der Quelltext nicht angezeigt anstelle wird eine Fehlermeldung angezeigt. "No source available for main() " |
| {{ :eclipse:screenshot-debug_-_source_not_found.png?nolink& |}} |
| |
| **Ursache**: Es sind keine Debug-Symoble mit einkompiliert. |
| |
| **Behebung**: im Makefile die Debug Symbole bei der Variable ''CPPFLAGS'' den Schalter ''-g'' aktivieren: |
| ''CPPFLAGS := -Wall -g'' |
| |
| ===== Quelle ===== |
| * http://www.embedded-linux.co.uk/tutorial/eclipse-rse |