Wie kann ich die Python-Tools für den Debugger des Visual Studio-Mischmodus mit der Verteilung des Baldachins verwenden?
-
21-12-2019 - |
Frage
Ich verwende Baldachin als meine Python-Verteilung aufgrund seiner Eignung für wissenschaftliche Berechnung. Ich verwende jedoch pytools in visual studio als meine IDE in erster Linie aufgrund ihres überlegenen Debuggens im Vergleich zu anderen IDEs für Windows.
Seit Version 2.0 bietet Pytools einen nativen C-Debugger ( Mischmodus Debugger < / a> oder mmd), das für das Debuggen sehr nützlich ist, wenn Cython oder einschließlich eines nativen C-Codes verwendet wird, und soll auch viel schneller sein als der Standard-Debugger, der es machbar macht, rechenlich teuer zu debuggen Code, der ansonsten mit dem debugging aktivierten Debugging zu langsam laufen würde.
Leider die Pytools MMD Debug-Symbole erfordert zur Arbeit, die für die Standard-Python-Distribution verfügbar sind, erklären sie jedoch, dass
Wenn Sie eine Python-Verteilung von Drittanbietern wie Activestate verwenden Python oder verdeckte Baldachin, Sie müssen sich an die Autoren von kontaktieren diese Verteilung, um Sie mit Symbolen bereitzustellen.
Ich konnte diese Debug-Symbole nicht in der Nähe finden, die von der Technik verfügbar sind, also möchte ich wissen:
a) Planen Sie den Plan, die Debug-Symbole für Pytools-Benutzer verfügbar zu machen
b) Wenn nicht, was sind einige mögliche Problemumgehungen?
Lösung
verdeckte Baldachin 1.2, um später in diesem Monat veröffentlicht zu werden, beinhaltet die vollständige PTVS-Integration inklusive Debug-Symbolen.
Andere Tipps
(Ich bin der PTVS-Entwickler, der einen Mischmodus-Debugger für 2.0 geschrieben hat)
Die Anforderung nach Symbolen ist eine harte Anforderung, leider - es ist im Kern, wie der Debugger funktioniert.Daher ist die einzige Problemumgehung, Python-Binärdateien zu verwenden, die für sie verfügbar sind - entweder von Python.org, oder erstellen Sie sie selbst.Dies betrifft nur Python ??. DLL, und wenn Sie möchten, dass Ctypes-Stepping-Support, _CTypes.pyd.
Ich weiß nicht, ob der Bau von Python, der sich wesentlich von regelmäßigem Python unterscheidet, oder ob sie ein Drop-In-kompatibel sind.Es kann jedoch einen Versuch als ein Problemumgehung wert sein.