2009-01-22 3 views
17

Ich habe eine DLL, die ich profile .. Ich habe versucht, Very Sleepy zu verwenden, aber ich kann nicht scheinen, die Quelldatei Spalte anzuzeigen, welche Quelldatei die Funktionen kam von, alles, das es anzeigt, ist "unbekannt". Wie auch immer, ich bin wirklich verwirrt, wie man diese App benutzt. Kann jemand mich auf etwas Hilfe zeigen? Es gibt nicht viel Dokumentation auf, und es scheint, wie es vor kurzem beibehalten worden has not .. =/Mit dem "Sehr Sleepy" Profiler Profil DLLs

Dank ..

EDIT: Hinzufügen einer weiteren Frage:

Was bedeuten die Begriffe exklusive und inklusive Mittelwert in dieser App? Danke ..

Antwort

25

Sie werden Debugging-Informationen (PDB-Dateien) benötigen, wenn Sie die Quelldatei und Spalte wissen wollen. Diese Informationen werden nicht gespeichert, es sei denn, Sie fragen danach.


Leider hat der Profiler keine Dokumentation, die ich finden kann. Allerdings there are definitions for inclusive and exclusive when it comes to profiling:

  • inklusive: Gesamtzeit, in der Funktion ausgegeben
  • exklusiv: Menge Zeit damit verbracht, in Funktion minus jedem verbrachte Zeit andere Funktionen
+3

Danke, fügt die PDB + MAP-Datei zum DLL-Verzeichnis macht die Sachen auftauchen .. :) Ich bekomme immer noch einige unbekannte Sachen, könnte dies eine andere DLL-Funktion sein? – krebstar

+1

Ich würde erwarten, dass es eine andere DLL-Funktion ist, ja. –

+0

Danke für die zusätzlichen Informationen .. :) – krebstar

4

Aufruf Wenn Sie bereits die PDB-Datei , denken Sie daran, es im selben Verzeichnis zu behalten, in dem es generiert wurde.

Wenn Sie nicht wissen, in welchem ​​Verzeichnis es gespeichert werden soll, öffnen Sie einfach Ihre .exe- oder .dll-Datei mit einem Text/Hex-Editor und scrollen Sie bis zum Ende der Datei, das pdb-Verzeichnis wird dort sein. Dies ist zumindest dann der Fall, wenn Sie MSVC6 verwenden.

Ich hoffe es hilft.

+0

Nein, was ich tue, ist, dass ich meine DLL in das Verzeichnis verschiebe, in dem die ausführbare Datei es erfordert. Also wenn ich Very Sleepy starte, muss ich mich an die exe anhängen. Ohne die PDB-Dateien in dem Verzeichnis, in dem die DLL war, konnte ich die Informationen nicht sehen. Aber ich fügte die PDB + MAP-Dateien hinzu und es funktionierte. – krebstar

+0

Ok, vielleicht very Sleepy beachtet die Information nicht Ich erwähnte und versuche immer, die PDB in dem Verzeichnis zu finden, in dem sich die DLL befindet ... Vielleicht ist meine Lösung MSVC-spezifisch ... Wie auch immer, es ist großartig, dass Sie es geschafft haben. –

+0

Danke David .. :) Ich benutze tatsächlich MSVC++ 6 .. Aber ich nicht meine DLL aus dem Compiler-Ausgabeverzeichnis ausführen, deshalb musste ich die pdb verschieben und kopieren Sie die Dateien :) .. Danke .. – krebstar

Verwandte Themen