#visual-studio #debugging #linqpad
#visual-studio #отладка #linqpad
Вопрос:
Я могу подключить отладчик и заставить его прерваться — но у него проблемы с поиском файла .cs, я думаю, LINQPad удаляет его как часть своей сборки .. 8-(
Комментарии:
1. Обратите внимание, что после того, как был задан этот вопрос, Linqpad представила новую, премиум-версию Linqpad, которая включает в себя собственный отладчик.
Ответ №1:
Если вы вызываете
Debugger.Launch();
Debugger.Break();
чтобы инициировать точку останова в вашем скрипте LINQPad, LINQPad догадается, что вы хотите использовать VS для отладки вашего скрипта, и не удалит файл .cs.
Комментарии:
1. Я только что еще раз попробовал программу на C #, подобную этой ‘code ‘ void Main() { Debugger. Запустите(); int i = 0; Отладчик. Break(); i.Dump(); }’code’ VS launches не удается найти код. НО затем снова запускаем из LP, VS затем находим файл .cs….
2. У меня возникли проблемы с этим, затем я понял, что пытаюсь подключить отладчик VS 2008 к LINQPad.exe ; это должна быть версия VS, поддерживающая .NET 4 (например, VS 2012).
Ответ №2:
- Запустите LINQPad
- В VS откройте Debug -> Присоединить к процессу…
- Выберите LINQPad.exe
- Установите точку останова в вашем коде, вызываемом LINQPad C # code, или напишите Debugger.Break() в вашем скрипте LINQPad, где вы хотите остановить отладчик.
- Запустите скрипт из LINQPad и понаблюдайте за волшебством.
Комментарии:
1. Вы должны проверить Debugger. Свойство IsAttached перед вызовом Debugger. Break().
Ответ №3:
Если ваш код LINQPad вызывает метод в некоторой сборке C #, на которую ссылается ссылка, и вы хотите отладить эту сборку в Visual Studio 2015, у меня это сработало:
- Создайте свое решение.
- При необходимости запустите свой скрипт LINQPad, дайте ему аварийно завершиться и т.д. В нижней правой строке состояния LINQPad обратите внимание на PID, выделенный светло-синим цветом.
- В VS нажмите CTRL ALT P, чтобы подключиться к процессу. Подключитесь к процессу LINQPad UserQuery с помощью PID, который вы видели.
- Поместите точку останова здесь, в VS.
- Запустите запрос linqpad и перейдите в VS. Вы должны нажать свою точку останова!