Frage

Ich möchte die Art und Weise einige Arten verwendet werden angezeigt ändern entweder ‚dt‘ oder ‚??‘ in einer Weise ähnlich, wie Sie das mit autoexp.dat tun können. Gibt es eine Möglichkeit, dies zu tun?

Zum Beispiel, ich habe eine Struktur etwas wie folgt aus:


struct Foo
{
    union Bar
    {
       int a;
       void *p;
    } b;
};

Und ich habe eine Reihe von ein paar hundert davon bekommt, die ich alle weisen auf eine Struktur Bar kennen. Gibt es eine Möglichkeit cdb, dass in diesem Ausdruck zu sagen, wie auch immer, dass ‚p‘ ist ein Zeiger auf Bar? Dies ist die Art von Sache, die Sie mit autoexp tun könnten. (Das konkrete Beispiel hier ist, dass ich eine stashtable habe, die Schlüssel von jeder Art haben kann, aber ich weiß, dass sie Schlüssel sind Strings. Die Implementierung speichert sie als void-Zeiger).

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Ich glaube nicht, dass es etwas so einfach wie autoexp.dat.

Sie haben ein paar möglichen Optionen - Sie können eine einfache Skriptdatei schreiben mit dem Debugger die Datenstruktur in der Art und Weise zu entleeren Befehlen, die Sie mögen, und verwenden Sie den „$<filename“ Befehl (oder eine seiner Varianten). Benutzeraliasnamen in Verbindung mit Sie können dies bekommen ziemlich einfach und natürlich sein zu verwenden.

Die zweite Option ist ein bisschen mehr beteiligt, aber mit ihm viel mehr Macht kommt - schreiben Sie einen Erweiterungs-DLL, die Ihre Datenstruktur Dumps. Für etwas wie das, was Sie reden das ist wahrscheinlich übertrieben. Aber Sie haben eine enorme Macht mit Debugger-Erweiterungen (in der Tat viel von der Kraft, die in dem Debugging-Tools-Paket kommt, wird auf diese Weise implementiert). Das SDK wird mit dem Debugger verpackt, so ist es einfach zu bestimmen, ob das ist, was Sie benötigen.

Andere Tipps

Sie können sagen du oder da haben es Speicher Dump als Unicode oder ASCII-Strings.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top