Wie kann ich beim Debuggen von MSVC ABI Rust-Programmen Variablenwerte prüfen?

9

Ich habe die MSVC-ABI-Version von Rust 1.7.0 heruntergeladen und bin dem Ratespiel-Abschnitt aus der Dokumentation gefolgt.

Ich stelle fest, dass die Builds die native Toolchain verwenden (Visual Studio 2015 Update 2 in meinem Fall) und daher native PDBs (Debugging-Symbole) generieren, die von nativen Debuggern wie WinDBG, CDB oder dem Visual Studio-Debugger konsumiert werden können. Ich kann einfach Breakpoints setzen, in Standard-Bibliotheksquellen wechseln und so weiter.

Was ich nicht tun kann, ist variable Werte zu untersuchen. Unabhängig vom verwendeten Debugger ist die Anzeige 'Locals' leer.

Wie ich feststellen kann, zeigen die Visual Rust / RustDT IDEs Locals an, wenn Sie GDB oder LLDB als Backend verwenden, nicht die native Windows-Debugging-Engine. Ich bin nicht ganz sicher, ob ich diese verwenden kann, um Rust-Programme zu kompilieren, die für MSVC ABI (mit PDBs usw.) kompiliert wurden.

Wenn ich die notwendige Debug-Erfahrung haben möchte, ist meine einzige Option, zum GNU ABI zu wechseln? Abgesehen davon, gibt es eine einfache Möglichkeit, Rust-Symbolen (Variablenwerten) aus den rohen Debugging-Werkzeugen (Register, Speicherabbildung) zuzuordnen?

    
cynic 14.04.2016, 11:01
quelle

1 Antwort

3

Features existieren erst, wenn sie implementiert sind. Rust baut auf LLVM auf und volle PDB-Unterstützung wurde erst kürzlich für LLVM in Betracht gezogen . Im Moment hat LLVM nur eine begrenzte PDB-Unterstützung, mit den Einschränkungen, die am besten auf der Clang-Projekt-MSVC-Kompatibilitätsseite beschrieben sind. Meiner Meinung nach ist es am besten, zu warten, bis der Support da ist, obwohl für andere Programmiersprachen interessante Workarounds implementiert wurden.

>     
cynic 25.04.2016, 14:27
quelle

Tags und Links