Kann ich Haltepunkt in Windows CreateProcess API in Visual Studio hinzufügen, wie ich in Windbg tun kann?Kann ich Haltepunkt auf CreateProcess in VS
10
hinzufügen
A
Antwort
15
Ja - Go "Debug/New Breakpoint/Break at Funktion ..." und diese Paste:
{,,kernel32.dll}[email protected]
in das Feld Funktion.
Das setzt eine Unicode-Erstellung voraus - ersetzen Sie W
durch A
für ANSI-Builds.
Ein bisschen Erklärung: Die @40
Stück ist Teil der Aufrufkonvention stdcall, und gibt die Anzahl der Bytes von Parametern, die die Funktion dauert. In win32 ist dies fast immer die 4-fache Anzahl der Parameter. Der Unterstrich ist auch Teil der Aufrufkonvention stdcall.
Ein entsprechender Hinweis: Manchmal ist der Name der Funktion, wie durch den Debugger unterscheidet sich von seinen echten Namen gesehen - siehe diese Blog-Post für ein Beispiel, und wie der richtige Namen finden zu verwenden: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll
Verwandte Themen
- 1. VS 2015 update 3 Haltepunkt in global.asax
- 2. Haltepunkt auf Javascript in CSHTML?
- 3. gdb Haltepunkt auf pthread_create
- 4. Kann ich den Rückgabewert einer Methode in einem Haltepunkt überschreiben?
- 5. Haltepunkte, neue Daten Haltepunkt in VS 2010 deaktiviert
- 6. CreateProcess STATUS_DLL_NOT_FOUND - welche DLL?
- 7. Wie kann ich einen in Visual Studio gelöschten Haltepunkt erkennen?
- 8. In Visual Studio kann ich meine Variable im Haltepunkt plotten?
- 9. CreateProcess aus Speicherpuffer
- 10. Wie kann ich einen Haltepunkt auf "etwas ist auf dem Terminal gedruckt" in gdb setzen?
- 11. Programm kann nicht ausgeführt werden, CreateProcess-Fehler = 5, Zugriff verweigert: CreateProcess-Fehler = 5, Zugriff verweigert
- 12. system() und CreateProcess()/CreateProcessW()
- 13. Haltepunkt auf jeder Zeile in GDB setzen
- 14. Kann in GDB ein Haltepunkt angegeben werden?
- 15. CreateProcess, PowerShell und WaitForSingleObject
- 16. beide Navigationsleisten auf falschen Haltepunkt
- 17. Bedingte Haltepunkt nicht
- 18. mit der CreateProcess-Funktion
- 19. Prozessfenster mit 'CreateProcess' ausblenden
- 20. Haltepunkt in Racket setzen?
- 21. Wie kann ich auf Textumbruch drehen standardmäßig in VS-Code
- 22. Wie setze ich den Haltepunkt auf diese Weise?
- 23. Bedingte Haltepunkt in Visual Studio
- 24. Wie kann ich einen Haltepunkt mithilfe von Bedingungen erstellen? [C# Express]
- 25. GnuPG und CreateProcess in Delphi-Dienst
- 26. Haltepunkt auf einreichen - Chrome-Entwickler-Tool
- 27. Haltepunkt in Eclipse für appengine
- 28. Debug-Haltepunkt in Swift Playground?
- 29. Kann Datei mit Haltepunkt nach dem Debug nicht öffnen
- 30. Wie kann ich das Autorize-Attribut überschreiben, so kann ich einen Haltepunkt darauf setzen
Besser Pause bei beiden. Aufgrund des unkonventionellen Verhaltens von CreateProcessW können sogar Unicode-Anwendungen CreateProcessA aufrufen. Der CreateProcess-Makro versteckt die zugrunde liegenden zwei Funktionsdeklarationen nicht, so dass sie aufrufbar bleiben. Dies gilt auch für ähnliche Makros für andere Funktionspaare. – MSalters
Eine zusätzliche Sache zu beachten ist, dass Sie 'kernel32.dll' Symbole zuerst herunterladen müssen. Sie können dies über das Kontextmenü in Debug/Windows/Modules tun. – ulidtko
Erklärung von {,,,} Syntax ist hier: https://msdn.microsoft.com/en-us/library/wztycb7f(v=vs.100).aspx beachten Sie, dass aus welchem Grund auch immer der Artikel nicht existiert Visual Studio höher als vs2010 –