speichern von Daten aus visual studio memory-Fenster
Wird jede Möglichkeit zu sparen-Puffer in jede Binär-Datei, Ansicht im standalone hex-editor.
Kann ich zum Beispiel das speichern von Daten aus dem Speicher-Fenster in VS zu hex, aber nicht als ASCII ?
- Fehlt auch das, wäre ein nettes add-in.
Du musst angemeldet sein, um einen Kommentar abzugeben.
user142207 hat einen großartigen job gemacht, zu untersuchen VS-Interna, empfehle ich, die Lösung.
Habe ich eine andere Möglichkeit, die erfunden wurde von meinem Kollegen, Sergej S.,
das ist sehr nützlich:
Windows:
Ein paar Funktionen
ReadProcessMemory
/WriteProcessMemory
. Es braucht eine eigenständige app, die diese Funktionen aufruft mit dem Ziel, Prozess-id wie:Diese app kann direkt aufgerufen werden, während der VS-debug-Sitzung(im Vergleich zu Linux, die nicht über eine solche Möglichkeit). Wir erfassen können, die Speicher-Adresse in das watch-Fenster, dann übergeben Sie die Adresse der dumper und voila. Als user142207 sagt in seinem Artikel, es ist sehr nützlich in langen-Zeit kompiliert Projekte.
Linux/MacOS hat verschiedene Ansätze. Zum Beispiel: aus der gdb-Konsole, verwenden Sie den Befehl dump memory. Dieser Befehl kann auch verwendet werden, direkt während der debug-Sitzung.
Ich weiß nicht, ob das hilft, aber Sie können verwenden Sie WinDbg ist
.writemem
Befehl. Es dauert einen Dateinamen und einen Speicherbereich und gibt Sie (als binary) auf die Festplatte.dump memory
tut es, aber die Frage war speziell auf VS, richtig? :ЬGibt es eine Erweiterung für das: https://marketplace.visualstudio.com/items?itemName=OvidiuIonescu.VSDebugTool. Es öffnet sich die Konsole in VisualStudio Fenster und ermöglicht dumping-Speicher, um die Datei und ein paar andere Speicher-Betrieb (geben Sie "help" in der Konsole für details).
Auch einige hex-Editoren (z.B. Hex Editor Neo) durchsuchen können Prozess-Speicher wie eine gewöhnliche Datei. Vielleicht findest du ja einen kostenlosen editor mit dieser Funktion zu.
StNickolay hat die Antwort, das Verweise auf ein tool namens "dumper", aber irgendwie war ich nicht in der Lage, es zu finden, um das Netz (auch, user142207 ist lange vorbei). Also ich habe die selben tool - es öffnet Laufenden Prozess (sogar mit debugger) und kopiert den Teil des Speichers in die Datei. Sehr nützlich, wenn Sie möchten, speichern Struktur für später und nicht möchten, Kampf mit VS-Memory-Ansicht "Kopie" ausgegeben. Genießen Sie!
https://github.com/Alexx999/Dumper
Dem watch-Fenster in der Visual Studio-debugger ausführen, können Sie Funktionen, wenn Sie das debugging Ihres eigenen Codes, können Sie einfach fügen Sie einige Funktion, um Ihren code für das speichern eines Puffers an die Datei und rufen Sie es von der watch-Fenster.
zum Beispiel:
Dann geben Sie einfach etwas, wie dies im watch-Fenster:
Ich vermute, dass Sie bekommen, was Sie wollen aus dem ClrMD, dann können Sie die gleichen Daten, aber Sie wollen.
Wenn Sie buchstäblich einen hauptspeicherauszug haben möchten, dann WinDbg könnte das sein, was du suchst?
Ist auch dieser Beitrag auf MSDN-Blogs: https://blogs.msdn.microsoft.com/dondu/2010/10/24/writing-minidumps-in-c/
Es beschreibt, wie zum erstellen von dump-ish Dinge .NET programmgesteuert.