Entwickler-Ecke
Programmierwerkzeuge - Debuggen unter D6/Win7 64
mandras - Do 19.05.11 12:59
Titel: Debuggen unter D6/Win7 64
ich habe das Netz nun lange durchsucht aber keine Lösung gefunden.
Folgendes Problem:
Delphi 6 prof. installiert unter Win 7 64Bit
alles funktioniert _außer_:
ein aus der IDE gestartetes Programm kann nicht mittels F12 gestoppt werden
so daß das CPU-Fenster erscheint.
Auch auf die Taste "-" des numerischen Tastenblocks wird nicht reagiert.
Unter W2k hatte ich mal was ähnliches - mal reagierte "-" oder F12, eine von beiden Tasten immer.
Nur wie gesagt unter W7 keinerlei Reaktion, auch nicht in Kombination mit Shift, Ctrl etc.
Wer weiß näheres?
Danke im Voraus,
Andreas
jaenicke - Do 19.05.11 19:29
Was ist jetzt das Problem? Dass die Tastenkombinationen nicht gehen oder dass die Funktionen nicht gehen?
mandras - Do 19.05.11 22:00
jaenicke hat folgendes geschrieben : |
| Was ist jetzt das Problem? Dass die Tastenkombinationen nicht gehen oder dass die Funktionen nicht gehen? |
Wenn ich ein Programm von der IDE aus starte (F9) und es läuft sollte es sich über F12 anhalten lassen
und das CPU-Fenster erscheint in der IDE.
Das passiert nicht, aus der IDE gestartete Programme reagieren nicht auf F12
AndyB - Do 19.05.11 22:11
mandras hat folgendes geschrieben : |
| Das passiert nicht, aus der IDE gestartete Programme reagieren nicht auf F12 |
Das liegt wohl daran, dass F12 kein Delphi-Feature sondern eine Windows "Debugging-Funktionalität" ist. Und seit Windows Vista hat Microsoft die standardmäßig abgeschaltet. Und alle Versuche, die ich bis jetzt im Internet gesehen habe, diese Funktion über die Registry wieder zu aktivieren, funktionierten nicht.
Das Interessante ist, dass beim Drücken von F12 Windows immer noch ein neuer Thread erstellt wird. Nur wird eben nicht mehr in "DebugBreak" gesprungen, sondern der Thread sofort wieder beendet, womit der Debugger nur das Thread-Erstellen/Zerstören mitbekommt, nicht aber das (fehlende) "DebugBreak".
mandras - Do 19.05.11 22:52
Gibt es denn irgendeinen Workaround, zb. in der Delphi-Anwendung ein Key-Hook zum Debugger-Aufruf oder etwas in der Art?
jaenicke - Fr 20.05.11 04:36
Dann musst du eben ganz normal in Delphi selbst auf Pause drücken wie auch standardmäßig vorgesehen. :nixweiss:
Wenn dir die Taste so wichtig ist, kannst du ja nen Experten für Delphi schreiben, der darauf reagiert oder so...
AndyB - Fr 20.05.11 16:10
mandras hat folgendes geschrieben : |
| Gibt es denn irgendeinen Workaround |
Klar. Ich habe das "Problem" ja nicht um sonst analysiert ;-)
Delphi F12 Debug Hotkey support [
http://andy.jgknet.de/blog/ide-tools/unsupported-tools/]
Unter
HKCU\Software\Borland\BDS\4.0\Experts musst du einen neuen Zeichenketten-Wert anlegen. Der Name ist beliebig. Als Wert musst du den Pfad zur DLL angeben.
Zum Beispiel:
F12HotKeySupport=C:\Delphi\DelphiF12HotKeySupport\DelphiF12HotKeySupport.dll
Die DLL sollte mit allen Delphi Versionen funktionieren, da sie "nur" die Windows API hooked.
mandras - So 22.05.11 16:44
Vielen Dank für die Hilfe,
insbesondere an AndyB für die DLL und jaenicke für den Tip mit dem Experten..
da mich die Neugier packte habe ich einen geschrieben der per Global Keyhook
die F12 auf Delphi's Start/Programm Pause mappt.
Nochmals Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!