INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DLL mit Visual Studio2008 debuggen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.08.2009, 19:47 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 19:49 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL mit Visual Studio2008 debuggen
' schrieb:Bis ich den Startpfeil gedrückt habe ist VS schon durch ohne an einem Breakpoint anzuhalten. Für VS wird die dll von LabVIEW gar nicht aufgerufen wenn ich das Problem richtig verstanden habe. (Wann wird die dll den von LabVIEW geladen? Beim öffnen oder starten des VI?)

Ich habe mal versucht nur LabVIEW zu starten ohne Argument und Verzeichniss. Dann öffnet VS LabVIEW und hält auch an aber LabVIEW hängt sich auf wenn ich das VI öffnen will.

Die DLL wird geladen wenn LabVIEW das VI lädt das die DLL enthält. Aber damit wird ausser der DLLMain() Funktion noch gar nichts aufgerufen. Und hier wirds lustig. Ein Breakpoint in DLLMain() ist eine augeszeichnete Idee um den Debugger aufzuhängen. Während des Ladens einer DLL hat Windows einige Vorkehrungen zu treffen um zu verhindern dass zum Beispiel circular Dependencies (DLL 1 lädt DLL 2 die DLL 3 lädt die wiederum DLL 1 laden möchte) zu verhindern. Dazu werden ziemlich tiefgreifende Locks gesetzt und die können sich mit dem Debugger beissen. Also ein Breakpoint in der DLLMain() ist keine allzu gute Idee. Aber da dann ja nach dem Laden der DLL noch keine normale Funktion aufgerufen worden ist, kann der Debugger bis dann auch noch nicht angesprungen sein. Du musst schon das VI das die DLL aufruft irgendwie starten.

Wie gesagt ein Breakpoint in DLLMain() ist eine sehr schlechte Idee. Mache das stattdessen in einer Deiner Funktionen und starte dann das VI das diese Funktion aufruft.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
DLL mit Visual Studio2008 debuggen - rolfk - 28.08.2009 19:47

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Labview Import / DLL debuggen galilio 36 54.495 10.11.2015 21:42
Letzter Beitrag: rolfk
  Labview-Code in Visual Studio GladiatoreSardo 1 5.716 12.11.2012 10:41
Letzter Beitrag: GerdW
  LV DLL in Visual Basic verwenden sm 3 7.486 03.05.2011 13:34
Letzter Beitrag: rolfk
  DLL in Visual C++ 2010 programmieren tt-web 2 7.441 02.05.2010 12:17
Letzter Beitrag: tt-web
  Visual Basic DLL in LabVIEW einbinden jacket12 2 9.754 10.06.2008 09:54
Letzter Beitrag: jacket12

Gehe zu: