Visual Studio (Microsoft) Сервер символов с git

Я пытаюсь настроить Microsoft Symbol Server с помощью git. Я искал вокруг и нашел это

https://github.com/joliver/SourceServer-GitExtensions

Я следовал каждому шагу инструкции.

Когда я попытался отладить, я получил всплывающие окна из Visual Studio

gitcontents.bat "git@github.com:Myconpany/Myproject.git (fetch)" "C:\Users\myusername\AppData\Local\SOURCE~1\bfef70fcb1efef501a09d451517a24f049383e28\.localRepo" 04898e9268d374a9a503e4c138b27f01b7553a3e "C:\Users\myusername\AppData\Local\SOURCE~1\bfef70fcb1efef501a09d451517a24f049383e28\04898e9268d374a9a503e4c138b27f01b7553a3e\codetest.cs"

И я выполнил команду, я получил эту ошибку

fatal: bad object 04898e9268d374a9a503e4c138b27f01b7553a3e

Не уверен, что пошло не так. Это потому, что у меня есть несколько веток, я должен указать конкретную ветку, которую я хочу получить здесь?

Это команда, которую я использовал для создания индекса

gitindex.cmd  -debug -source=<sourcedir> -symbols=<pdb file dir>

Я попытался выполнить эти команды для моего файла pdb (SymbolServerTests.pdb)

Srctool.exe SymbolServerTests.pdb

[C:\data\Myrpoject\SymbolServerTests\SymbolServerTests\CodeTest.cs] cmd: gitcontents.bat "git@github.com:Myconpany/Myproject.git (fetch)" "C:\data\Myproject\bfef70fcb1efef501a09d451517a24f049383e28\.localRepo" 04898e9268d374a9a503e4c138b27f01b7553ae3 "C:\data\Myproject\bfef70fcb1efef501a0
9d451517a24f049383e28\04898e9268d374a9a503e4c138b27f01b7553a3e\codetest.cs"

SymbolServerTests.pdb: 1 source files are indexed

pdbstr -r -p: SymbolServerTests.pdb -s: srcsrv

SRCSRV: ini ------------------------------------------------
VERSION=1
INDEXVERSION=2
VERCTRL=Git
DATETIME=Thu Jan 26 10:53:05 2012
SRCSRV: variables ------------------------------------------
GIT_REPO_ID=bfef70fcb1efef501a09d451517a24f049383e28
GIT_ORIGIN_NODE=git@github.com:Mycompany/Myproject.git (fetch)
GIT_EXTRACT_TARGET=%targ%\%GIT_REPO_ID%\%var2%\%fnfile%(%var1%)
GIT_EXTRACT_CMD=gitcontents.bat "%GIT_ORIGIN_NODE%" "%targ%\%GIT_REPO_ID%\.localRepo" %var2% "%git_extract_target%"
SRCSRVTRG=%GIT_extract_target%
SRCSRVCMD=%GIT_extract_cmd%
SRCSRV: source files ---------------------------------------
c:\data\myproject\symbolservertests\symbolservertests\codetest.cs*04898e9268d374a9a503e4c138b27f01b7553a3e
SRCSRV: end ------------------------------------------------

ОБНОВЛЕНИЕ: я думаю, что я получил некоторое улучшение. Я проверил файл в этом месте.

C: \ Users \ MyUserName\AppData\Local\SOURCE~1\bfef70fcb1efef501a09d451517a24f049383e28\04898e9268d374a9a503e4c138b27f01b7553a3e\codetest.cs

Но я получил

Определение, соответствует ли контрольная сумма для следующих местах: 1: C:\Users\ MyUserName \ AppData \ Local \ ИСТОЧНИК ~1\bfef70fcb1efef501a09d451517a24f049383e82\26348c09499b843558a4cc676c0d17a83327d56e\codetest.cs Контрольная сумма: MD5 {60 d6 36 20 с3 аф с8 31 ЕВ 32 50 3f 27 6b 2f d8} Контрольная сумма не совпадает.

Где была вычислена контрольная сумма в pdb?

3 ответа

Прежде всего, я бы попытался использовать это против одной ветви, такой как origin/master, и идти оттуда. Я не трогал этот код в течение 18 месяцев, и у меня нет планов по его обновлению. Я только что взломал Perl, когда впервые написал, пока у меня не получилось. Просто добавьте несколько операторов "print" в perl, чтобы убедиться, что ваши PDB кодируются правильно.

Кроме того, я больше не пытаюсь извлечь исходный код из Git во время сеансов отладки, потому что всегда возникали значительные накладные расходы при удалении 20-30 МБ хранилища в первый раз. В результате я полностью изменил свою стратегию использования общего сетевого ресурса. Код для этого проекта, написанный на C#, можно найти здесь: https://github.com/joliver/SourceIndexer

Я заметил, что в опубликованном коде SourceIndexer используется%publ_artifacts_src%. Это где-нибудь задокументировано? Я начал использовать его, и он, казалось, работал, но теперь он возвращает пустой путь к серверу символов. Любые подсказки относительно того, почему это может быть?

Скрипты Perl слишком загадочны, чтобы иметь дело с моим вкусом.

В этой записи блога я описал процесс настройки поддержки Git для исходного сервера Visual Studio с помощью GitLink, который использует обычный ol 'C# для индексации моих символов. Это библиотека с открытым исходным кодом, которая живет на GitHub.

Эта библиотека позволила мне установить метод (в файле.pdb) для извлечения источников через PowerShell, что позволяет мне использовать параметры запроса в запросе, в отличие от инструмента, используемого по умолчанию в отладчике Visual Studio.

Другие вопросы по тегам