Umstaendliche Valgrind Installation
-
Hallo,
Ich habe vor Software fuer den PPC mit Valgrind zu testen. Das ganze laeuft auf einer Linux Distri mit 2.4 Kernel und eben auf einem PowerPC Chip.Leider habe ich bisher noch nie mit den Valgrind Tools gearbeitet und haette nun einige Fragen zur Installation:
- Wie gehe ich in diesem Fall am besten vor?
- Kann ich Valgrind eigentlich auch auf Windows installieren oder laeuft es nur auf Linux?
- Die Software wird per Crosscompiler fuer den PPC compiliert, sollte Valgrind nun auch fuer denn PPC kompiliert werden? Evtl ebenfalls per Crosscompiler?
- Oder kann ich Valgrind auf einer i586 Architektur direkt kompilieren (wie teste ich dann die Software?)?Danke im voraus fuer die Tipps!
-
Soweit ich weiss, kann man valgrind aus der Quelle mit einem
#> ./configure #> make #> make install
installieren, wobei der letzte Befehl als Systemverwalter ausgefuehrt werden muss, es sei denn, man gibt als Installationsverzeichnis eines an, auf das der 'user' Zugriff hat ('./configure --prefix=/home/<username>/valgrind-3.0' o.ae.).
Vielleicht unterstuetzt Deine Distribution ja auch valgrind und Du kannst das entsprechende Paket direkt installieren.
Soweit ich weiss, wird Windows von valgrind nicht unterstuetzt.
Solange Du keinen triftigen Grund hast, _keinen_ Compiler auf dem PPC-System zu installieren, sehe ich keinen Grund, weswegen Du Dir die Muehe zur Cross-Compilierung machen solltest.
-
Hallo,
Naja, wie man auf Linux kompiliert weiss ich schon - ich habe leider einen triftigen Grund: ein Embedded System.Mein Problem ist, dass ich mein Program (laeuft dort auf Linux) per Valgrind testen will, leider kann ich aber dort nicht kompilieren, sondern muss eben einen Crosscompiler hernehmen.
Das Problem nun mit Valgrind ist nun, wenn ich Valgrind per Crosscompiler fuer das System compiliere, wie ginge ich dann weiter vor - Valgrind arbeitet doch afaik auch gewissermassen wie ein Compiler/Interpreter und uebersetzt in Bytecode.Frage also: muss ich dann Valgrind auch auf das Embedded System zu-kompilieren und raufladen, oder kann ich eine crosscompilierte Version meines Programms auch auf einer anderen Maschine (i386, Linux) per Valgrind testen?
-
Mit C hat das ja ansich nichts zu tun. Ich denke in "Rund um die Programmierung" ist das Thema am besten aufgehoben. Es hat ja irgendwie von allem was (ausser C :D).
Zum Thema: Warum kompilierst du dein Programm nicht einfach auf dem Host (Linux/x86) und testest es dort mit valgrind? Wenn nichts systemspezifisches (was du auf dem Target brauchst, aber der Host nicht bietet) drin ist, sollte das ja gehen. Ist sicher nicht der 100%ige Test, aber das ist valgrind ja auch so nicht.
-
Dieser Thread wurde von Moderator/in Tim aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Naja, leider geht es schon um "systemspezifisches" - Genauer gesagt einerseits um den Kernel selber. Wobei ich da mit Valgrind so meine Zweifel habe, das sollte wohl besser mit "Kmemcheck" laufen, wie ich jetzt gelesen habe.
Kennt jemand einen Link fuer evtl die Sourcen von Kmemcheck um das Ding einem aelteren Kernel aufzupatchen, oder hat Erfahrungen damit?
Das was uebrig bleibt sind einige Prozesse die als "Daemon" mit dem Kernel, also /proc interagieren, hier dachte ich koennte sich Valgrind evtl benutzen lassen, oder nicht?
@Tim:
War mir leider nicht ganz klar mit dem "Wohin mit meiner Frage" - Danke!