2015-09-03 12 views
1

Я выполнял модульный тест в Visual Studio сегодня, используя FakeItEasy. Я был на форуме и нашел следующий символ заряжания, происходит и занимает много времени:Visual Studio пытается загрузить символы FakeItEasy из Z: Builds work

FakeItEasy symbol loading

Мой вопрос, где же путь Z:\Builds\work\... пришли и почему Visual Studio пытается загрузить символы из что дорожка. Может ли быть, что этот путь соответствует CI, на котором были построены двоичные файлы? Если да, то это то, что должен устранить разработчик библиотеки или что-то, что я должен настроить локально? Я использую двоичные файлы FakeItEasy 1.25.2, которые я получил через NuGet.

Мне известно о том, что вы можете отключить загрузку символов (например, see this question), но на самом деле я хочу, чтобы символы были загружены, если это возможно.

ответ

1

Да, Z:\Builds\work\… - путь, из которого TeamCity builds FakeItEasy.

Я не большой пользователь символов, поэтому не уверен, что вы хотите «зафиксировать». Почему вы загружаете символы и какое поведение вы ожидаете в этом случае? Если нам push the symbols to SymbolSource.org, вам все равно нужно быть в сети, чтобы получить к ним доступ, нет?

Можете ли вы привести пример пакета NuGet, который ведет себя так, как вам хотелось бы? Как он себя ведет в вашей ситуации?

+0

Если символы были отправлены с библиотекой, я бы ожидал, что сможет отлаживать их в библиотеке. Мне нужно быть в сети только при загрузке пакета с помощью NuGet, но не при отладке моего приложения. MvvmLight поставляется с файлами pdb. В моей ситуации Visual Studio просто блокирует довольно долгое время, потому что у меня есть диск Z: на моем ПК, и VS пытается загрузить с них символы (и не находит их). –

+2

А, я мог бы взять gander в MvvmLight, но наклоняюсь к тому, что кажется стандартной рекомендацией для публикации символов: [Создание и публикация пакета символов] (https://docs.nuget.org/create/creating-and-publishing -a-символ-пакет). Может быть, это скорее предложение? –

+0

Я предполагаю, что толчок символов в symbolource.org был бы лучшим способом. –

1

PDB могут быть созданы для конфигурации отладки и конфигурации релиза, и обычно рекомендуется сохранять их в целях отладки. FakeItEasy или любая другая DLL или EXE, содержит полный путь к файлу PDB, где он находился во время компиляции. Если этот путь является частью DLL (или EXE), Visual Studio попытается загрузить символы оттуда.

Чтобы просмотреть эту информацию, получите DebugDir и запустите debugdir <path to>\FakeItEasy.dll. Или, в любом шестнадцатеричном редакторе, найдите pdb.

Вы найдете полный путь PDB вместе с другой информацией. Поскольку вы не создали DLL, PDB отсутствует на вашем диске, и вам нужно будет загрузить его с сервера символов.

Sourforge clone of DebugDir содержит параметр командной строки clean, который может удалить информацию об отладке. Если вы хотите избавиться от Visual Studio, обращаясь к несуществующему накопителю Z:, вы можете удалить путь к файлу PDB.

 Смежные вопросы

  • Нет связанных вопросов^_^