+5 votos
135 visitas
Quando eu preciso depurar uma DLL em C# que é chamada pelo Runner (7.7.3.1), o Visual Studio (2010, 2012, 2013) não pára nos breakpoints.

Só vou conseguir parar nos breakpoints se mandar "desatachar" (detach) e "atachar" (attach to process...) o processo de novo.

Por que será?
por (72 pontos) | 135 visitas

2 Respostas

+1 voto

Olá,

Abra as propriedades do seu projeto;

Em "Application" clique no botão "Assembly Information" e marque a opção "Make assembly COM-Visible";

Em "Build" e configure o "Output path" para sua pasta de trabalho;

Em "Debug" configure a aplicação a ser executada, seus parâmetros e a pasta de trabalho.

Quanto você compilar serão gerados os .pdb na pasta de trabalho os quais são utilizados na depuração.

por (353 pontos)
Obrigado pela dica, mas não adiantou. Eu achei que era porque eu não tinha preenchido o Working Directory, mas não fez diferença alguma.
Os pdbs foram todos colocados lá pelo Visual Stido, mesmo assim continuou não parando nos breakpoints.
+1 voto

Algo de gosto de usar é o namespace System.Diagnostics com o método Debugger.Launch. Assim não preciso atachar o processo para depuração. No codigo insiro a linha onde quero fazer o attach, quando isto rodar, o proprio windows pergunta se quer atachar com o Visual Studio. 

Exemplo

static void Main(string[] args)
{
     Console.WriteLine("System.Diagnostics");
     System.Diagnostics.Debugger.Launch();
     Console.WriteLine("Testando");
}

Ao passar pela linha "Debugger.Launch()" o VS pergunta se quer atachar. Se já estiver, nada acontece. 

 

Outra dica, é colocar todo o output da solution na pasta de trabalho do Runner. Assim nenhuma dependencia será antiga, fazendo com que não consiga uma depuração de todas as dll. Isto pode ser feito por linha de comando rapidamente. 

Para tal, é necessário abir o "Developer Command Prompt for VS2012" de rodar a linha abaixo, alterando o nome da solution e o caminho do output

msbuild "C:\Benner\Fontes\Bef\Bef.sln" /m /p:outdir="C:\Benner\Bin\Runner"

 

por (917 pontos)

Perguntas relacionadas

Melhores May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. diego.luiz

    12 Pontos

  4. SlimShady

    11 Pontos

  5. joseglauber

    11 Pontos

  6. willian.metalsystem

    8 Pontos

  7. lucas.melo

    3 Pontos

  8. fluipress.luciano

    2 Pontos

  9. pajucara.wallacef

    2 Pontos

  10. jean.filho

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
  1. diego.luiz

    12 Pontos

  2. SlimShady

    4 Pontos

  3. willian.metalsystem

    2 Pontos

434 perguntas
480 respostas
349 comentários
466 usuários