Какой метод лучше для отладки / профилирования - .DLL или исходный код? - PullRequest
1 голос
/ 27 октября 2010

Я занимаюсь разработкой приложения, и мне нужно будет измерить различные аспекты, а именно время, затрачиваемое на каждый метод, нагрузку на системные ресурсы, а также время от времени отлаживать, чтобы отслеживать, как обрабатываются данные.

Я буду использовать библиотеку с открытым исходным кодом для файлов MIDI, которая доступна в виде исходного кода, а также скомпилированный .DLL.

Я думал, будет ли это прощедля меня, чтобы использовать скомпилированный .DLL, так как я не буду вносить какие-либо изменения в библиотеку, и это кажется "более аккуратным", чем наличие огромного ссылочного проекта в окне исходного кода, однако я не был уверен, будет ли это иметь какой-либо эффект, когда он появитсядля отладки и измерения производительности кода.

Извинения, если этот вопрос уже был задан, я попытался выполнить поиск, и ничего, казалось бы, не релевантного.

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Это просто зависит от того, считаете ли вы, что вам вообще придется его отлаживать.Измерения производительности менее важны.

Обратите внимание, что вы можете просто получить этот исходный код, собрать его на своем локальном компьютере и ссылаться на dll (и располагать файлы pdb в одном каталоге).Тогда вы сможете отладить его без фактического добавления проекта в ваше решение.Это всегда возможно, если у вас есть эти три вещи:

  1. Библиотеки
  2. PDB, созданные при создании библиотек
  3. Источник, использованный для сборки библиотек

Но, опять же.Если вы думаете, что вам не придется отлаживать, просто используйте библиотеки DLL прямо сейчас.Вы всегда можете получить исходный код позже и перестроить.

1 голос
/ 27 октября 2010

Мне легче отследить, если у меня есть источник, потому что я понимаю, почему что-то не работает.Кроме того, я не уверен, что счетчики производительности могут быть вставлены в скомпилированные библиотеки DLL (но я могу ошибаться).

Однако, если вы не собираетесь изменять его, и вам не нужно понимать, какэто работает внутренне, тогда просто используйте dll.Я, конечно, вижу смысл не желать, чтобы все эти строки кода были присоединены, если они вам не нужны и вы просто хотите использовать dll.

Я знаю, что следующая часть не связана с простотойотладка, но это относится к простоте обслуживания.

Мне также просто не нравятся dll в управлении исходным кодом, когда я могу получить реальный код, особенно для внешних библиотек, которые могут измениться.Я не могу сказать вам, сколько раз мне пришлось заплатить за обновление компонента или радикальные изменения в моем коде, потому что нужно что-то обновить.

...