Visual Studio (Microsoft) Сервер символов с git - PullRequest
3 голосов
/ 27 января 2012

Я пытаюсь настроить 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 \ 04898e9268d374a9a503e4c138b27f01 * * * * * 10 * 103234 * 1034 I353

Определение совпадения контрольной суммы для следующих расположений: 1: C: \ Users \ myusername \ AppData \ Local \ SOURCE ~ 1 \ bfef70fcb1efef501a09d451517a24f049383e82 \ 26348c09499b843558a4cc676c0d17a83t664 e64 ​​cd 356: cd3383: 853: 563: 853: 563: 853: cd3: cd3: d = 383: 383: cd: cd32 50 3f 27 6b 2f d8} Контрольная сумма не совпадает .

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

Ответы [ 3 ]

0 голосов
/ 16 февраля 2015

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

0 голосов
/ 08 июня 2016

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

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

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

0 голосов
/ 29 января 2012

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

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

...