Как отлаживать и входить в COM-объект - PullRequest
1 голос
/ 05 марта 2019

У меня есть классический ASP-сайт, работающий на IIS. Сайт использует некоторые COM-объекты (через VBScript CreateObject), которые на самом деле .DLL написаны на C #. Итак, вопрос в том, как я могу отладить код C # в Visual Studio 2017?

Я пытался подключиться к процессу w3wp.exe, но он не показывает никаких DLL, просто код скрипта: enter image description here

Мои файлы PDB находятся в той же папке, что и DLL, и я также снял флажок «Просто мой код», но ничего не помогает. Поскольку никакие dll не загружены, никакие символы не загружены, мои контрольные точки не достигают

Ответы [ 2 ]

1 голос
/ 06 марта 2019

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

  1. В окне Attach to Process, прежде чем выбрать процесс для присоединения, найдите параметр Select... справа от метки Attach to:;

    Attach to Process Window

    Откроется окно Select Code Type, где вы можете выбрать отладчики типа кода для подключения.

  2. Выберите несколько типов кода из перечисленных, в частности версию * .NET Managed, которая подходит для компиляции .Net COM DLL, которую вы хотите отлаживать.

    Select Code Type Window

  3. Присоединить к процессу как обычно.

0 голосов
/ 05 марта 2019

Вы пытались подключить w3wp.exe в C# application?вы можете открыть этот C# application и убедиться, что выходом этого приложения является DLL, на который есть ссылка, и поставить точку останова на метод, который вы хотите отлаживать, а при присоединении debugger сам output window может сказатьВы независимо от того, загружены ли права symbols или нет, если указано, что загружены symbols, то ударит breakpoint.

Попробуйте, это должно работать, как я сталкивался с этим ранее.

Удачного кодирования ...

...