Suche Codeanalyse-Tool für dyn. Speicher

Gast #5293235
Lesenswert?
• ▲
▼
Ich hatte mal vor ein paar Jahren ein Codeanalyse Tool, mitdem ich die 
dynamische und statische Speicherbelegung eines AVR checken konnte. Es 
warnte auch vor Rekursionen die potentiell die potentiell ein Overflow 
erzeugen können.

Leider habe ich den Namen vergessen. Kann mir jemand ein solches Tool 
empfehlen, welches nach Möglichkeit frei für den privaten Gebrauch ist?

Welche Tools verwendet ihr so für die Codeanalyse?
#5297930
Lesenswert?
• ▲
▼
p41145 schrieb:
> Welche Tools verwendet ihr so für die Codeanalyse?

Clang/LLVM funktioniert super. Unter Windows ist (war?) es allerdings 
ein Krampf zu installieren (u.A. wegen Abhängigkeiten zu einer 
bestimmten Perl-Version, wenn ich mich recht erinnere). Für mich reicht 
es als alleiniger Grund, eine virtuelle Entwicklungsmaschine in Debian 
bereit zu halten.
Gast #5346613
Lesenswert?
• ▲
▼
Falls du Linux als Betriebssystem verwendest kann ich dir valgrind sehr 
empfehlen. Es läuft zur Laufzeit und macht sehr gute Angaben über 
Speicherfehler.

Ansonsten kannst du noch tricksen: malloc() und free() per Define auf 
eigene Funktionen umbiegen. In den Funktionen mitzählen, wie viel RAM 
gerade belegt wird und wieviel noch frei ist. Danach die originalen 
Funktionen malloc() und free() aufrufen. Außerdem dich höchste Adresse 
des reservierten Speicher merken und mit dem Stackpointer vergleichen. 
Im Fehlerfall Breakpoint und den Stacktrace anschauen.
Gast #5346701
Lesenswert?
• ▲
▼
p41145 schrieb:
> Ich hatte mal vor ein paar Jahren ein Codeanalyse Tool, mitdem ich
> die dynamische und statische Speicherbelegung eines AVR checken
> konnte.

Ich verwende embedded nur statische Speicherbelegung, das löst einen 
Haufen Probleme von selber.

> warnte auch vor Rekursionen die potentiell die potentiell ein Overflow
> erzeugen können.

Rekursion vermeidet man ebenfalls. Da, wo es nicht anders geht, muß man 
eben eine manuelle Stack-Analse machen. GCC mit -fstack-usage hilft 
hierbei.

> Welche Tools verwendet ihr so für die Codeanalyse?

CppCheck ist super und ist zumindest in der Windows-Version genial 
benutzerfreundlich.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.