Debug

  1. Compilar o módulo em questão localmente

  2. Substituir os packages no repositório local: a. Aceder ao menu > ELEVATION > Nuget > Replace assemblies in local repository

  3. Fazer Copy full path do ficheiro .cs do módulo que se pretende fazer debug

  4. Abrir ficheiro .cs no produto em execução

  5. Executar o produto

  6. Colocar breakpoint na linha pretendida a. Se a bola do breakpoint não ficar vermelha, significa que os símbolos não foram carregados e não é possível fazer debug i. Solução: limpar os bins (menu > ELEVATION > Solution > Clean) mais do que uma vez caso apareçam erros à primeira e substituir os packages novamente.

  7. Para as exceções, ligar “Common language runtime exceptions” (Ctrl + Alt + E):

Debug

Debugging > Enable Just My Code

Se esta opção estiver checked, o debugger salta o código para o qual não encontre símbolos. Ou seja, código que não esteja compilado na máquina, ou que não esteja ativado o servidor de símbolos. "Normalmente", para o debug ser mais rápido, esta definição deve estar checked.

IntelliTrace

Se não estiver a ser usado, a opção do intelliTrace deve ser desativada. O IntelliTrace é aquilo que permite na janela de Diagnostic ver o "histórico" da sessão de debug.

Symbols

Se estivar ativa a opção Load only specified modules, o Visual Studio só tenta carregar símbolos dos módulos que definirem na janela "Specify included modules". Exemplo: Se se estiver a fazer debug apenas ao FinancialCore, nessa janela deve ser adicionado um módulo e escreve-se 'FinancialCore'.

Breakpoints

Sempre que se faz debug a algo novo, devem ser apagados os breakpoints antigos. Há breakpoints antigos que entretanto ficam corrompidos que atrasam o arranque da aplicação. Os Breakpoints podem ser apagados no Menu Debug > Delete All Breakpoints.

Diagnostics Tools

Se o intellitrace não é utilizado, a janela de Diagnostic Tools também pode ter impacto. A opção "Enable Diagnostic Tools while debugging" deve ser desativada.