Использование профилировщика Very Sleepy для профилирования библиотек DLL

У меня есть DLL, которую я хочу профилировать .. Я пытался использовать Very Sleepy, но могу ' Кажется, я не могу получить столбец исходного файла для отображения того, из какого исходного файла были взяты функции, все, что он отображает, - "неизвестно" .. В любом случае, я действительно сбит с толку, как использовать это приложение .. Может ли кто-нибудь указать мне на некоторую помощь? По нему не так много документации, и похоже, что в последнее время он не поддерживался .. = /

Спасибо..

РЕДАКТИРОВАТЬ: добавление еще одного вопроса:

Что означают термины эксклюзивный и всеобъемлющий в этом приложении? Спасибо..


person krebstar    schedule 22.01.2009    source источник


Ответы (2)


Вам понадобится отладочная информация (файлы PDB), если вы хотите узнать исходный файл и столбец. Эта информация не сохраняется, пока вы ее не попросите.


К сожалению, у профилировщика нет документации, которую я могу найти. Однако есть определения для включающих и исключительных, когда дело доходит до профилирование:

  • включительно: общее количество времени, проведенного в функции
  • эксклюзив: количество времени, потраченного на функцию, за вычетом времени, затраченного на вызов других функций
person Max Lybbert    schedule 22.01.2009
comment
Спасибо, добавление файла PDB + MAP в каталог DLL приводит к появлению этого материала ... :) Я все еще получаю кое-что неизвестное, может это быть какая-то другая функция DLL? - person krebstar; 22.01.2009
comment
Я ожидал, что это будет другая функция DLL, да. - person Max Lybbert; 22.01.2009
comment
Спасибо, что сообщили о неработающей ссылке. И, похоже, не работает, это хорошо сформулировано, потому что теперь ссылка ведет на документ PDF, который не имеет ничего общего с моим ответом. Я перейду к другому - надеюсь, более стабильному - документу. - person Max Lybbert; 30.07.2012
comment
Похоже, ссылка снова не работает. Однако не стоит ожидать, что ссылки заработают через 6+ лет. - person medasumanth; 21.02.2019

Если у вас уже есть файл PDB, не забудьте сохранить его в том же каталоге, в котором он был сгенерирован.

Если вы не помните, в каком каталоге он должен храниться, просто откройте свой .exe или .dll с помощью текстового / шестнадцатеричного редактора и прокрутите до самого конца файла, каталог pdb будет там. По крайней мере, это верно, если вы используете MSVC6.

Я надеюсь, что это помогает.

person davidag    schedule 22.01.2009
comment
Нет, я перемещаю свою DLL в каталог, в котором это требуется исполняемому файлу. Поэтому, когда я запускаю Very Sleepy, мне нужно подключиться к исполняемому файлу. Без файлов PDB в каталоге, где находилась DLL, я не мог видеть информацию .. Но я добавил к нему файлы PDB + MAP, и это сработало .. - person krebstar; 22.01.2009
comment
Хорошо, возможно Very Sleepy не обращает внимания на информацию, которую я упомянул, и всегда пытается найти PDB в том же каталоге, где находится dll ... Может быть, мое решение специфично для MSVC ... В любом случае, здорово, что вы заставили его работать . - person davidag; 22.01.2009
comment
Спасибо, Дэвид .. :) На самом деле я использую MSVC ++ 6 .. Но я не запускаю свою dll из выходного каталога компилятора, поэтому мне нужно было переместить / скопировать файлы pdb и map :) .. Спасибо .. - person krebstar; 23.01.2009
comment
Вы имеете в виду, что вам пришлось скопировать файлы отладки в каталог, где exe на самом деле их ищет? - person davidag; 28.01.2009