Posts mit dem Label labview werden angezeigt. Alle Posts anzeigen
Posts mit dem Label labview werden angezeigt. Alle Posts anzeigen

Montag, 1. März 2010

Visual Studio Debugger mit DLLs und Labview.

Den Visual Studio Debugger auch beim Debuggen von DLLs zu verwenden, die von einem Labview VI gerufen werden sollen, ist wünschenswert.
Geht auch ganz einfach: Die DLL im Debug-Modus kompilieren und im Call Library Node im VI eintragen. Dann den Debugger über Debuggen > An den Prozess anhängen... an den Labview Prozess anhängen (es erscheint ein Fenster mit allen laufenden Prozessen). Nun in Labview das VI ausführen und sobald das VI in die DLL springt, greift der Visual Studio Debugger ein und man kann, sofern denn Haltepunkte etc. gesetzt sind, loslegen. Danach muss die Prozessüberwachung aber manuell getrennt werden.
Angeblich soll es auch über das "normale" Debugging funktionieren, leider habe ich es bisher nicht hingekriegt, dass Labview nicht nur das VI öffnet sonderen es auch startet.
(Getestet mit Visual Studio Professional Edition 2008, die man als Student kostenlos über Microsofts Dreamspark bekommt.)

DbgPrintf: Printf mit Labview und DLLs.

DbgPrintf – öffnet ein Textfenster und schreibt die angegebene Nachricht dort hinhein, alle weiteren Nachrichten mit DbgPrinft erscheinen ebenfalls dort. DbgPrintf(NULL) schließt dieses Fenster wieder. Die Funktion verhält sich ansonsten wie printf in C.
(Using External Code in Labview, S. 81, 370109b.pdf)

Montag, 13. April 2009

LabVIEW und DLLs: Debuggen vereinfachen

Irgendwie sehr simpel, aber man muss erstmal drauf kommen. Beim Debuggen von DLLs mit LabVIEW hab ich immer das Problem gehabt, dass es enorm aufwändig war DLL-interne Variablen zum Fehlersuchen nach Außen durchzuschleusen. (Entweder man hat schon passende Übergabe-Variablen oder man muss sich passende nur fürs Debuggen anlegen, was dann dazuführt, dass man ständig den Funktionskopf erneuern muss.) Wenn man jetzt aber einfach in der DLL zur Laufzeit eine Datei öffnet und in diese mittels fprinft die Variablen reinschreibt, ersparrt man sich ne ganze Menge Arbeit und kann gleichzeitig alle möglichen Variablen dort reinschreiben.

Ich weiß es gibt diese tollen Debugger, allerdings hab ich mich noch nie damit beschäftigt. Und mit LabVIEW bringt einem das ja erstmal auch gar nix, man müsste ja noch eine C-Programm drumherum stricken... Ist allerdings auf meiner Muss-ich-irgendwann-mal-tun-Liste

Dienstag, 18. November 2008

LabVIEW: leeres Array an bestimmter Stelle beschreiben.

Was in LabVIEW nicht geht ist ein leeres Array an beispielsweise der fünften Stelle zu füllen. Matlab füllt dann den Rest mit Nullen, LabVIEW macht das nicht. Lässt sich lösen, muss man nur wissen. Wie? Gibts x Möglichkeiten für, ich suche aber noch die komfortabelste dafür. Wenn ich sie gefunden habe, zeige ich sie hier. Vorschläge sind gerne willkommen