Freigeben über


Angeben von Symboldateien (PDB-Dateien) und Quelldateien im Visual Studio-Debugger (C#, C++, Visual Basic, F#)

Programmdatenbankdateien (.pdb) werden auch als Symboldateien bezeichnet, zuordnen Bezeichner und Anweisungen im Quellcode Ihres Projekts den entsprechenden Bezeichnern und Anweisungen in kompilierten Apps. Diese Zuordnungsdateien verknüpfen den Debugger mit Ihrem Quellcode, wodurch das Debuggen ermöglicht wird.

Wenn Sie ein Projekt aus der Visual Studio-IDE mit der standardmäßigen Debugbuildkonfiguration erstellen, erstellt der Compiler die entsprechenden Symboldateien. In diesem Artikel wird beschrieben, wie Sie Symboldateien in der IDE verwalten, z. B.:

Eine ausführliche Erläuterung der Symboldateien finden Sie in den folgenden Themen:

Funktionsweise von Symboldateien

Die PDB- Datei enthält Debug- und Projektstatusinformationen, die die inkrementelle Verknüpfung einer Debugkonfiguration Ihrer App ermöglichen. Der Visual Studio-Debugger verwendet .pdb--Dateien, um zwei wichtige Informationen beim Debuggen zu ermitteln:

  • Der Name und die Zeilennummer der Quelldatei, die in der Visual Studio-IDE angezeigt werden soll.
  • Die Stelle in der App, an der ein Haltepunkt gesetzt werden soll.

Symboldateien zeigen auch den Speicherort der Quelldateien und optional den Server an, aus dem sie abgerufen werden sollen.

Der Debugger lädt nur PDB- Dateien, die genau mit den PDB- Dateien übereinstimmen, die beim Erstellen einer App erstellt wurden (d. h. die ursprünglichen .pdb Dateien oder Kopien). Diese genaue Duplizierung ist erforderlich, da sich das Layout von Apps ändern kann, auch wenn sich der Code selbst nicht geändert hat. Weitere Informationen finden Sie unter Warum erfordert Visual Studio Debuggersymboldateien, um genau mit den binärdateien übereinzugleichen, mit denen sie erstellt wurden?

Tipp

Um Code außerhalb des Projektquellcodes zu debuggen, z. B. Windows-Code oder Drittanbietercode, den Ihr Projekt aufruft, müssen Sie den Speicherort der .pdb--Dateien des externen Codes (und optional die Quelldateien) angeben, die genau mit den Builds in Ihrer App übereinstimmen müssen.

Wo der Debugger nach Symbolen sucht

Wenn Sie ein Projekt in der Visual Studio-IDE debuggen, lädt der Debugger automatisch Symboldateien, die standardmäßig gefunden werden können.

Anmerkung

Beim Debuggen von verwaltetem Code auf einem Remotegerät müssen sich alle Symboldateien entweder auf dem lokalen Computer oder an einem Speicherort befinden, der in den Debuggeroptionen angegeben ist.

Der Debugger sucht an den folgenden Speicherorten nach Symboldateien:

  1. Der Projektordner.

  2. Der Speicherort, der innerhalb der DLL oder der ausführbaren Datei (.exe) angegeben ist.

    Wenn Sie eine DLL oder eine .exe Datei auf Ihrem Computer erstellt haben, platziert der Linker standardmäßig den vollständigen Pfad und Dateinamen der zugeordneten PDB--Datei in der DLL- oder .exe-Datei. Der Debugger überprüft, ob die Symboldatei an diesem Speicherort vorhanden ist.

  3. Derselbe Ordner wie die DLL- oder .exe-Datei.

  4. Alle Speicherorte, die in den Debuggeroptionen für Symboldateien angegeben sind. Informationen zum Hinzufügen und Aktivieren von Symbolspeicherorten finden Sie unter Konfigurieren von Symbolspeicherorten und Ladeoptionen.

    • Ein beliebiger Cacheordner für lokale Symbole.

    • Angegebene Netzwerk-, Internet- oder lokale Symbolserver und Speicherorte, z. B. die Microsoft-Symbolserver, falls ausgewählt. Visual Studio kann Debugsymboldateien von Symbolservern herunterladen, die das symsrv Protokoll implementieren. Visual Studio Team Foundation Server und die Debuggingtools für Windows sind zwei Tools, die Symbolserver verwenden können.

      Symbolserver, die Sie möglicherweise verwenden, umfassen:

      Öffentliche Microsoft-Symbolserver: Um einen Absturz zu debuggen, der beim Aufruf einer System-DLL oder der Bibliothek eines Drittanbieters auftritt, werden meist PDB-Systemdateien benötigt. System-.pdb--Dateien enthalten Symbole für Windows-DLLs, .exe-Dateien und Gerätetreiber. Sie können Symbole für Windows-Betriebssysteme, MDAC, IIS, ISA und .NET von den öffentlichen Microsoft Symbol-Servern abrufen.

      Symbolserver in einem internen Netzwerk oder auf Ihrem lokalen Computer: Ihr Team oder Unternehmen kann Symbolserver für Ihre eigenen Produkte und als Cache für Symbole aus externen Quellen erstellen. Möglicherweise verfügen Sie über einen Symbolserver auf Ihrem eigenen Computer.

      Symbolserver von Drittanbietern: Drittanbieter von Windows-Anwendungen und -Bibliotheken können Zugriff auf Symbolserver im Internet ermöglichen.

Warnung

Wenn Sie einen anderen Symbolserver als die öffentlichen Microsoft-Symbolserver verwenden, stellen Sie sicher, dass der Symbolserver und sein Pfad vertrauenswürdig sind. Da Symboldateien beliebigen ausführbaren Code enthalten können, können Sie Sicherheitsbedrohungen ausgesetzt sein.

Konfigurieren des Speicherorts von Symboldateien und Ladeoptionen

Der Debugger überprüft standardmäßig verschiedene Speicherorte auf Symbole. Siehe Wo der Debugger nach Symbolensucht.

Auf der Seite Tools>Optionen>Debuggen>Symbole können Sie folgende Aktionen ausführen:

  • Geben Sie Suchpfade für Symboldateien an, und wählen Sie sie aus.
  • Geben Sie Symbolserver für Microsoft-, Windows- oder Drittanbieterkomponenten an.
  • Geben Sie Module an, für die der Debugger automatisch Symbole laden soll oder nicht.
  • Ändern Sie diese Einstellungen, während Sie aktiv debuggen. Siehe Laden von Symbolen beim Debuggen.

So geben Sie Symboldateispeicherorte und Ladeoptionen an:

Anmerkung

Diese Optionen wurden in Visual Studio 2022, Version 17.12 Preview 1, aktualisiert.

  1. Öffnen Sie in Visual Studio Optionen>Optionen>Debuggen>Symbole (oder Debuggen>Optionen>Symbole).

  2. Gehen Sie unter Speicherorte für Symboldateien (.pdb) folgendermaßen vor:

    • Aktivieren Sie das Kontrollkästchen, um die Microsoft-Symbolserver oder die Symbolserver von NuGet.org zu verwenden.

    • Um einen neuen Symbolserver-Standort hinzuzufügen

      1. Wählen Sie auf der Symbolleiste das symbol + aus.
      2. Geben Sie die URL (HTTP), die Netzwerkfreigabe oder den lokalen Pfad des Symbolservers oder des Symbolspeicherorts in das Textfeld ein. Durch Anweisungsvervollständigung wird Ihnen die Bestimmung des richtigen Formats erleichtert.

    Extras – Optionen – Debuggen – Seite „Symbole“

    Extras – Optionen – Debuggen – Seite „Symbole“

    Anmerkung

    Nur der angegebene Ordner wird durchsucht. Sie müssen Einträge für alle Unterordner hinzufügen, die Sie durchsuchen möchten.

    • Um einen neuen Azure DevOps Symbol Server-Speicherort hinzuzufügen:

      1. Wählen Sie das Tools/Optionen/Debugging/Symbole neues Serversymbol Symbol auf der Symbolleiste aus.

      2. Wählen Sie im Dialogfeld Verbindung mit Azure DevOps-Symbolserver herstellen einen der verfügbaren Symbolserver aus, und klicken Sie dann auf Verbinden.

        Weitere Informationen finden Sie unter Hinzufügen des Azure Artifacts-Symbolservers.

    • Um die Ladereihenfolge für die Symbolpositionen zu ändern, verwenden Sie STRG-+NACH-OBEN- und STRG-+NACH-UNTEN-oder die nach oben und Nach-unten- Pfeilsymbole.

    • Um eine URL oder einen Pfad zu bearbeiten, doppelklicken Sie auf den Eintrag, oder wählen Sie ihn aus, und drücken Sie F2.

    • Um einen Eintrag zu entfernen, wählen Sie ihn aus, und wählen Sie dann das Symbol - aus.

  3. (Optional) Um die Leistung beim Laden von Symbolen zu verbessern, geben Sie unter Cachesymbole in diesem Verzeichniseinen lokalen Ordnerpfad ein, in den Symbolserver Symbole kopieren können.

Anmerkung

Platzieren Sie den lokalen Symbolcache nicht in einem geschützten Ordner, z. B. C:\Windows oder einem Unterordner. Verwenden Sie stattdessen einen Ordner mit Lese- und Schreibzugriff.

Anmerkung

Wenn die Umgebungsvariable _NT_SYMBOL_PATH festgelegt ist, wird der Wert überschrieben, der unter Symbole in diesem Verzeichnis zwischenspeichern festgelegt ist.

  1. Geben Sie die Module an, die der Debugger beim Start von den -Speicherorten der Symboldatei (.pdb) laden soll.

    • Wählen Sie Automatisch auswählen, welche Modulsymbole gesucht werden sollen (empfohlen), damit Visual Studio entscheiden kann, welche Symbole gesucht und geladen werden sollen. Standardmäßig lädt Visual Studio automatisch Symbole, die von Ihrer geöffneten Lösung erstellt wurden, und lädt alle zusätzlichen Symbole, die zum Ausführen allgemeiner Debuggingvorgänge erforderlich sind. Dadurch wird die Anzahl der Dateien reduziert, nach denen von Visual Studio gesucht und geladen werden muss, wodurch die Debuggerleistung verbessert wird. Sie können das Laden zusätzlicher Symbole erzwingen, indem Sie auf den Link Modulfilter angeben klicken.

    • Wählen Sie Nach allen Modulsymbolen suchen, sofern sie nicht ausgeschlossen sind aus, um Visual Studio zu zwingen, alle Symbole in Ihren Debugprozess zu laden. Dies wird nicht empfohlen, da das Debuggen möglicherweise verlangsamt wird. Wenn Sie diese Option auswählen, können Sie erzwingen, dass Visual Studio bestimmte Symbole ignoriert, indem Sie auf den Link Modulfilter festlegen klicken.

    • Wählen Sie Alle Module laden, sofern nicht ausgeschlossen (die Standardeinstellung) aus, um alle Symbole für alle Module am Speicherort der Symboldatei zu laden, mit Ausnahme der Module, die Sie ausdrücklich ausschließen. Wenn Sie bestimmte Module ausschließen möchten, wählen Sie Ausgeschlossene Moduleangeben, wählen Sie das Symbol + aus, geben Sie die Namen der auszuschließenden Module ein, und wählen Sie OKaus.

    • Wenn nur angegebene Module aus dem Speicherort der Symboldatei geladen werden sollen, wählen Sie Nur angegebene Module laden aus. Wählen Sie Eingeschlossene Moduleangeben, wählen Sie das Symbol + aus, geben Sie die Namen der einzuschließden Module ein, und wählen Sie dann OKaus. Die Symboldateien für andere Module werden nicht geladen.

  2. Wählen Sie OKaus.

Angeben von Modulfiltern

Dank den Optionen Automatisch auswählen, nach welchen Modulsymbolen gesucht wird und Nach allen Modulsymbolen suchen, sofern sie nicht ausgeschlossen sind haben Sie beim Debuggen eine bessere Kontrolle darüber, nach welchen Symbolen gesucht wird. Wählen Sie Modulfilter angeben aus, um die Suche zu optimieren.

Wenn Automatisch auswählen, nach welchen Modulsymbolen gesucht wird ausgewählt ist, wird standardmäßig das folgende Dialogfeld angezeigt:

Screenshot: Angeben von Modulfiltern.

Sie können dem Filter ein Modul hinzufügen, indem Sie das Symbol "+" verwenden. Modulfilter unterstützen einfache Wildcard-Matches. Ein '*' entspricht einer beliebigen Gruppe von Zeichen. Beispielsweise entspricht "*myproduct*" Dateien wie "myproduct.utilities.dll" und "entrypoint.myproduct.exe", unter anderem.

Es gibt mehrere zusätzliche Optionen, um Ihre Erfahrung weiter anzupassen:

  • Symbole neben Modulen immer laden weist Visual Studio an, PDB-Dateien zu laden, die im Dateisystem neben den entsprechenden DLL- oder EXE-Dateien gespeichert sind. Dies kann beispielsweise hilfreich sein, wenn Sie versuchen, eine bereitgestellte Web-App zu debuggen.

  • Zusätzliche Symbole bei Bedarf automatisch laden weist Visual Studio an, nach Symbolen zu suchen, um gängige Debugaktionen wie etwa die Schrittausführung durchzuführen, auch wenn das Modul, das Sie ausführen möchten, nicht in Ihrem Projekt oder im Modulfilter enthalten ist. Die Art und Weise, wie die Suche bestimmt wird, kann von Ihren Just My Code Einstellungen beeinflusst werden.

Wenn Sie die Option Nach allen Modulsymbolen suchen, sofern sie nicht ausgeschlossen sind, ausgewählt haben, sieht das Dialogfeld für den Modulfilter wie folgt aus:

Screenshot der Angabe ausgeschlossener Module.

In diesem Dialogfeld können Sie auswählen, für welche Module Sie nicht möchten, dass Visual Studio Symbole laden soll. In diesem Szenario versucht Visual Studio, Symbole für jedes Modul in Ihren debuggierten Proces (einschließlich Module von Drittanbietern) zu laden, es sei denn, Sie fügen einen übereinstimmenden Filter hinzu, um sie auszuschließen. Das Verhalten kann nur durch Ihre Just My Code Einstellungen geändert werden.

Weitere Symboloptionen für das Debuggen

Sie können zusätzliche Symboloptionen in Tools>Optionen>Debuggen>Allgemein (oder Debug>Optionen>Allgemein) auswählen:

  • DLL-Exporte laden (nur native)

    Lädt DLL-Exporttabellen für C/C++. Ausführliche Informationen finden Sie unter DLL-Exporttabellen. Das Lesen von DLL-Exportinformationen erfordert einen gewissen Aufwand, sodass das Laden von Exporttabellen standardmäßig deaktiviert ist. Sie können auch dumpbin /exports in einer C/C++-Build-Befehlszeile verwenden.

  • Aktivieren des Debuggens auf Adressebene und Demontage anzeigen, wenn die Quelle nicht verfügbar

    Zeigt immer die Demontage an, wenn Quell- oder Symboldateien nicht gefunden werden.

    Optionen / Debugging / Allgemeine Demontageoptionen

  • Aktivieren der Quellserverunterstützung

    Verwendet Quellserver, um eine App zu debuggen, wenn kein Quellcode auf dem lokalen Computer vorhanden ist, oder die PDB--Datei stimmt nicht mit dem Quellcode überein. Der Quellserver akzeptiert Anforderungen für Dateien und gibt die tatsächlichen Dateien aus der Quellcodeverwaltung zurück. Der Quellserver wird mit einer DLL namens srcsrv.dll ausgeführt, um die PDB--Datei der App zu lesen. Die PDB- Datei enthält Zeiger auf das Quellcode-Repository sowie Befehle zum Abrufen von Quellcode aus dem Repository.

    Sie können die Befehle einschränken, die srcsrv.dll aus der .pdb--Datei der App ausführen können, indem Sie die zulässigen Befehle in einer Datei mit dem Namen srcsrv.iniauflisten. Platzieren Sie die srcsrv.ini Datei im selben Ordner wie srcsrv.dll und devenv.exe.

    Wichtig

    Beliebige Befehle können in die .pdb--Datei einer App eingebettet werden. Stellen Sie daher sicher, dass Sie nur die Befehle ablegen, die Sie in einer srcsrv.ini Datei ausführen möchten. Jeder Versuch, einen Befehl auszuführen, der sich nicht in der datei srcsvr.ini befindet, führt dazu, dass ein Bestätigungsdialogfeld angezeigt wird. Weitere Informationen finden Sie unter Sicherheitswarnung: Debugger muss nicht vertrauenswürdigen Befehlausführen.

    Es wird keine Überprüfung für Befehlsparameter ausgeführt. Achten Sie daher bei vertrauenswürdigen Befehlen darauf. Wenn Sie z. B. cmd.exe in Ihrem srcsrv.iniaufgeführt haben, kann ein böswilliger Benutzer Parameter für cmd.exe angeben, die sie gefährlich machen.

    Wählen Sie dieses Element und die gewünschten untergeordneten Elemente aus. Die Optionen Quellserver für teilweise vertrauenswürdige Assemblys (nur verwaltet) zulassen und Alle nicht vertrauenswürdigen Quellserverbefehle ohne Aufforderung ausführen können die Sicherheitsrisiken erhöhen.

    Quellserveroptionen aktivieren

Compilersymboloptionen

Wenn Sie ein Projekt aus der Visual Studio-IDE mit der standardmäßigen Debug- Buildkonfiguration erstellen, erstellen die C++- und verwalteten Compiler die entsprechenden Symboldateien für Ihren Code. Sie können auch Compileroptionen im Code festlegen.

Informationen zum Festlegen der Compileroptionen für Ihre Buildkonfigurationen in Visual Studio finden Sie unter Festlegen von Debug- und Releasekonfigurationen.

.NET-Optionen

Erstellen Sie mit /debug eine .pdb--Datei. Sie können Anwendungen mit /debug:full oder /debug:pdbonlyerstellen. Beim Erstellen mit /debug:full wird debugfähiger Code generiert. Beim Erstellen mit /debug:pdbonly werden PDB-Dateien generiert, nicht jedoch das DebuggableAttribute-Attribut, das den JIT-Compiler darüber informiert, dass die Debuginformationen verfügbar sind. Verwenden Sie /debug:pdbonly, wenn Sie PDB- dateien für einen Releasebuild generieren möchten, den Sie nicht debuggen möchten. Weitere Informationen finden Sie unter /debug (C#-Compileroptionen) oder /debug (Visual Basic).

C/C++-Optionen

  • VC<x>.pdb- und <project>.pdb-Dateien

    Eine PDB-Datei für C/C++ wird erstellt, wenn Sie /ZI oder /Zi für den Build verwenden. In Visual C++ benennt die option /Fd die PDB- Datei, die der Compiler erstellt. Wenn Sie ein Projekt in Visual Studio mithilfe der IDE erstellen, wird die Option /Fd festgelegt, um eine .pdb--Datei mit dem Namen <Projekt>.pdbzu erstellen.

    Wenn Sie Ihre C/C++-Anwendung mit einer Makefile erstellen und /ZI oder /Zi angeben, ohne /Fd zum Angeben eines Dateinamens zu verwenden, erstellt der Compiler zwei .pdb Dateien:

    • VC<x>.pdb, wobei <x> die Version des Microsoft C++-Compilers darstellt, z. B. VC11.pdb-

      Die VC<x>PDB- Datei speichert alle Debuginformationen für die einzelnen Objektdateien und befindet sich im selben Verzeichnis wie die Projekt-Makefile. Jedes Mal, wenn eine Objektdatei erstellt wird, führt der C/C++-Compiler Debuginformationen in VC<x>.pdb-zusammen. Selbst wenn jede Quelldatei allgemeine Headerdateien wie <windows.h>enthält, werden die Typedefs aus diesen Headern nur einmal und nicht in jeder Objektdatei gespeichert. Die eingefügten Informationen enthalten Typinformationen, enthalten jedoch keine Symbolinformationen, z. B. Funktionsdefinitionen.

    • <project>.pdb

      Das <Projekt>PDB- Datei speichert alle Debuginformationen für die .exe-Datei des Projekts und befindet sich im Unterverzeichnis \debug. Das <Projekt>.pdb Datei enthält vollständige Debuginformationen, einschließlich Funktionsprototypen, nicht nur die Typinformationen, die in VC<x>.pdbgefunden wurden.

    Sowohl die VC<x>.pdb als auch <Projekt>.pdb Dateien ermöglichen inkrementelle Updates. Der Linker bettet den Pfad zu den PDB-Dateien in die erstellte EXE- bzw. DLL-Datei ein.

  • DLL-Exporttabellen

    Verwenden Sie dumpbin /exports, um die in der Exporttabelle einer DLL verfügbaren Symbole anzuzeigen. Symbolische Informationen aus DLL-Exporttabellen können nützlich sein, um mit Windows-Nachrichten, Windows-Prozeduren (WindowProcs), COM-Objekten, Marshalling oder dll-Dateien zu arbeiten, für die Sie keine Symbole haben. Symbole sind für eine beliebige 32-Bit-System-DLL verfügbar. Die Aufrufe werden in der Aufrufreihenfolge aufgelistet, wobei die aktuelle Funktion (die am tiefsten geschachtelte) oben steht.

    Durch Lesen der dumpbin /exports Ausgabe können Sie die genauen Funktionsnamen sehen, einschließlich nicht alphanumerischer Zeichen. Das Anzeigen exakter Funktionsnamen ist nützlich, um einen Haltepunkt für eine Funktion festzulegen, da Funktionsnamen an anderer Stelle im Debugger abgeschnitten werden können. Weitere Informationen finden Sie unter dumpbin /exports.

Webanwendungen

Legen Sie die web.config Datei Ihrer ASP.NET Anwendung auf den Debugmodus fest. Der Debugmodus bewirkt, dass ASP.NET Symbole für dynamisch generierte Dateien generiert und dem Debugger das Anfügen an die ASP.NET Anwendung ermöglicht. Visual Studio legt dies automatisch fest, wenn Sie mit dem Debuggen beginnen, wenn Sie Ihr Projekt aus der Webprojektvorlage erstellt haben.

Laden von Symbolen beim Debuggen

Sie können die Module, Call Stack, Locals, Autosoder ein beliebiges Watch Fenster verwenden, um Symbole zu laden oder Symboloptionen beim Debuggen zu ändern. Weitere Informationen erhalten Sie unter Informieren Sie sich darüber, wie der Debugger an Ihre App angefügt wird.

Arbeiten mit Symbolen im Fenster "Module"

Während des Debuggens zeigt das Modul--Fenster die Codemodule an, die der Debugger als Benutzercode oder "Mein Code" behandelt, und deren Symbolladestatus. Sie können auch den Symbol-Ladestatus überwachen, Symbole laden und Symboloptionen im Module Fenster ändern.

So überwachen oder ändern Sie beim Debuggen Symbolpositionen oder Optionen:

  1. Um das fenster Module zu öffnen, wählen Sie beim Debuggen Debuggen>Windows>Module aus (oder drücken Sie STRG + ALT + U).
  2. Klicken Sie im Fenster Module mit der rechten Maustaste auf die Kopfzeilen Symbolstatus oder Symboldatei oder auf ein beliebiges Modul.
  3. Wählen Sie im Kontextmenü eine der folgenden Optionen aus:
Option Beschreibung
Symbole laden Wird für Module mit übersprungenen, nicht gefundenen oder nicht geladenen Symbolen angezeigt. Lädt Symbole aus den Speicherorten, die auf der Seite Optionen>Debuggen>Symbole angegeben werden. Wenn die Symboldatei nicht gefunden oder nicht geladen wurde, wird Datei-Explorer gestartet, sodass Sie einen neuen Speicherort für die Suche angeben können.
Symbolladeinformationen Zeigt den Speicherort einer geladenen Symboldatei oder die Speicherorte an, die durchsucht wurden, wenn der Debugger die Datei nicht finden kann.
Symboleinstellungen Öffnet die Seite Optionen>Debuggen>Symbole, auf der Sie Symbolspeicherorte bearbeiten und hinzufügen können.
Immer automatisch laden Fügt die ausgewählte Symboldatei der Liste der Dateien hinzu, die automatisch vom Debugger geladen werden.

Verwenden der Seite „Keine Symbole geladen/Keine Quelle geladen“

Es gibt mehrere Möglichkeiten, wie der Debugger in den Code eindringen kann, für den keine Symbol- oder Quelldateien verfügbar sind.

  • Schrittweises Ausführen von Code.
  • Unterbrechen von Code an einem Haltepunkt oder an einer Ausnahme.
  • Wechseln Sie zu einem anderen Thread.
  • Ändern Sie den Stack-Frame, indem Sie im Call Stack Fenster auf einen Frame doppelklicken.

In diesem Fall zeigt der Debugger die Seiten Keine Symbole geladen oder Keine Quelle geladen an, um Ihnen beim Auffinden und Laden der erforderlichen Symbole oder Quellen zu helfen.

Seite „Keine Symbole geladen“

So verwenden Sie die Seite „Keine Symbole geladen“, um fehlende Symbole zu suchen und zu laden:

  • Um den Suchpfad zu ändern, wählen Sie einen nicht ausgewählten Pfad aus, oder wählen Sie Neuen Pfad oder Neuen VSTS-Pfad aus, und geben Sie einen neuen Pfad ein oder wählen Sie einen aus. Wählen Sie Laden aus, um die Pfade erneut zu durchsuchen und die Symboldatei zu laden, wenn sie gefunden wird.
  • Wählen Sie Nach <Name_der_ausführbaren_Datei> suchen> aus, um alle Symboloptionen zu überschreiben und einen Wiederholungsversuch für die Suchpfade auszuführen. Die Symboldatei wird geladen, wenn sie gefunden wird, oder Datei-Explorer geöffnet wird, damit Sie die Symboldatei manuell auswählen können.
  • Um die Seite mit den Symboleinstellungen zum Konfigurieren des Verhaltens zu öffnen, wählen Sie Symboleinstellungen ändern (oder wählen Sie Optionen>Debuggen>Symbole).
  • (Erweitert) Wenn Sie die Demontage in einem neuen Fenster einmal anzeigen möchten, wählen Sie Ansichtsdemontageaus, oder wählen Sie Optionsdialogfeld aus, um die Option so festzulegen, dass die Demontage immer angezeigt wird, wenn Quell- oder Symboldateien nicht gefunden werden. Weitere Informationen finden Sie unter Anzeigen von Disassemblierungscode.
  • Um die durchsuchten Speicherorte und das Ergebnis anzuzeigen, erweitern Sie Symbolladeinformationen.
  • Bei C#-Code können Sie auch die Dekompilierung des Quellcodes von den Seiten Keine Symbole geladen oder Keine Quelle geladen auswählen.

Wenn der Debugger die PDB Datei findet, nachdem Sie eine der Optionen ausgeführt haben, und die Quelldatei mithilfe der Informationen in der PDB--Datei abrufen kann, wird die Quelle angezeigt. Andernfalls wird die Seite Kein Quellcode geladen angezeigt, auf der das Problem beschrieben wird und die Links zu Aktionen enthält, mit denen das Problem behoben werden kann.

So fügen Sie einer Lösung Pfade für die Quelldateisuche hinzu:

Sie können die Speicherorte angeben, an die der Debugger nach Quelldateien sucht, und bestimmte Dateien aus der Suche ausschließen.

  1. Wählen Sie die Lösung im Projektmappen-Exploreraus, und wählen Sie dann das Symbol Eigenschaften aus, drücken Sie Alt+Enter, oder klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaftenaus.

  2. Wählen Sie Quelldateien debuggen aus.

    Debug-Quelldateien-Seite

  3. Geben Sie unter Verzeichnisse mit Quellcode Quellcodespeicherorte für die Suche ein, oder wählen Sie diese aus. Verwenden Sie das Symbol Neue Zeile, um weitere Standorte hinzuzufügen, die Pfeilsymbole nach oben und nach unten, um sie neu anzuordnen, oder das Symbol X, um sie zu löschen.

    Anmerkung

    Der Debugger durchsucht nur das angegebene Verzeichnis. Sie müssen Einträge für alle Unterverzeichnisse hinzufügen, die Sie durchsuchen möchten.

  4. Unter Suchen Sie nicht nach diesen Quelldateien, geben Sie die Namen der Quelldateien ein, die von der Suche ausgeschlossen werden sollen.

  5. Wählen Sie OK oder Anwenden aus.