Ich versuche, einige Probleme auf Computern zu beheben, auf die ich keinen Zugriff habe. Die Probleme sind sehr zeitweilig und lokal nicht reproduzierbar. Ich denke daran, sie zu bitten, WinDbg zu installieren, damit sie einen Stacktrace/Dump des Prozesses generieren können. Ist das der beste Weg? Welchen Ansatz haben Sie benutzt, um einem solchen Problem auf den Grund zu gehen?Fehlersuche aus der Ferne
Antwort
Ich endete beim Erstellen einer .bat-Datei, die cdb.exe (in WinDbg enthalten) verwendet, um die Dumps zu generieren, die ich brauche. Es funktioniert perfekt und ich brauche nie eine Remote-Maschine zu berühren. Noch besser, der Benutzer benötigt kein technisches Wissen. Installieren Sie WinDbg und führen Sie die .bat-Datei aus.
Wenn Sie an einem Windows-System arbeiten, können Sie den Besitzer des anderen Computers bitten, Ihrem Computer den Remote-Desktop-Zugriff zu erlauben. So können Sie auf alle Details des anderen Systems genauso zugreifen wie auf Ihr eigenes System. Wenn Sie auf einem Linux-Rechner arbeiten, können Sie über den ssh-Client auf die Befehlszeile des anderen Rechners zugreifen, für den der Besitzer des anderen Rechners einem Benutzer ssh Zugriffsrechte erteilen und Ihnen diesen Benutzernamen und das Passwort mitteilen muss. Dann, indem Sie das root-Passwort weiterfragen, können Sie auf der Kommandozeile eines anderen Systems arbeiten, das auf Linux-Maschinen am mächtigsten ist.
Versuchen copilot
Wenn Sie es in Ihren Code und sein Windows bauen können, könnten Sie haben es automatisch einen Crash-Dump erzeugen, wenn er abstürzt. Um dies zu tun, müssten Sie Ihren eigenen Exception-Handler schreiben und mit der SetUnhandledExceptionFilter-API-Funktion darauf zugreifen. Dann kann Ihr Handler MiniDumpWriteDump aufrufen, um einen Mini-Dump für Sie zu schreiben. Wenn der Benutzer dir den Mini-Dump schickt, kannst du ihn in windbg laden und den Stack-Trace und andere Informationen bekommen (mit etwas Glück).
Ich habe es erfolgreich in der Vergangenheit verwendet, aber es ist schwierig. Insbesondere müssen die kompilierten Symbole auf Ihrem Computer diejenigen sein, die im verteilten Build vorhanden waren.
- 1. Git: Ziehen aus der Ferne
- 2. Node.js Methode Aufruf aus der Ferne
- 3. Profilerstellung einer JAR-Datei aus der Ferne?
- 4. Wie entwickelt man aus der Ferne Software?
- 5. Laufende Jenkins bauen aus der Ferne
- 6. Fehler: Die Details der Anwendung Fehler aus der Ferne gesehen
- 7. cfftp: Datei aus der Ferne kopieren und verschieben?
- 8. Importieren Sie Benutzer in WordPress aus der Ferne und sicher
- 9. Zugriff auf Spring-Boot JMX aus der Ferne
- 10. kdiff3 die Datei komplett aus der Ferne auswählen
- 11. So entsperren Android-Handy durch Code aus der Ferne
- 12. wie Sie eine Skriptdatei aus der Ferne mit ssh
- 13. Wie benutzt man Grgit um aus der Ferne zu holen?
- 14. Debuggen von Android-App auf einem Gerät aus der Ferne
- 15. Benutzer können nicht aus der Ferne zu MySQL verbinden
- 16. JustHost Cpanel - MySQL Benutzername/Passwort Zugriff aus der Ferne
- 17. jQuery Validieren Sie alle Felder aus der Ferne
- 18. C# Fehlersuche Objektserialisierungsfehler
- 19. Schwierig bei der Fehlersuche App Skript
- 20. Fehlersuche Thermodrucker Treiber
- 21. Fehlersuche Django-Regression-Redux
- 22. Fehlersuche Websocket 1006
- 23. Fehlersuche JS-bedingte
- 24. Fehlersuche?:,? =,?! Und Rückwärtsreferenzen. .
- 25. WebStorm: Fehlersuche Typoskript
- 26. mysql kyrillische Fehlersuche
- 27. Fehlersuche in Selen mit Python
- 28. Git sagt lokalen Zweig ist vor der Fernbedienung nach dem Ziehen aus der Ferne
- 29. Fehlersuche durchgeführt Vektor zu füllen
- 30. Erstellen einer Funktion zur Fehlersuche
Leider hängt die Anwendung, nicht abstürzt. –
Sie können Minidump jederzeit aufrufen (muss kein Absturz sein). Vielleicht könnten Sie es mit einem Tastendruck oder einem anderen Ereignis verbinden? –