Pergunta

Existe uma maneira de código de depuração no Visual C ++ 2008 Express, como posso assistir uma variável para determinado valor (s) e, quando assume esse valor, para quebrar?

Por exemplo, eu quero quebrar quando xbecomes 5. Em gdb gostaria de definir um ponto de interrupção, em seguida, uma condição que x == 5. Como posso fazê-lo (se possível) no Visual C ++ 2008 Express?

Foi útil?

Solução

Embora suporte embutido para ele estiver ausente nas edições expressas, não há outra maneira de contornar isso.

Eu achei essa mensagem em outra resposta para uma pergunta semelhante.

#if DEBUG
if( node.Name == "Book" )
    System.Diagnostics.Debugger.Break();
#endif

O exemplo mostra que, se o nome corresponder a propriedade "Book", um ponto de interrupção ocorre.

Aqui está a pergunta original:

Como faço para: Criar um ponto de interrupção usando condições de ? [C # Express]

Outras dicas

Isto não é possível nas versões Express do Visual Studio. Mas é possível nas versões completas.

Parece que é possível fazer isso mesmo no expresso, pelo menos aqui ele trabalhou. Depois de marcar o ponto de interrupção, eu cliquei com o botão direito sobre a sua marca, e definir uma "Condição" (não poderia ser mais fácil do que isso)

! Definir uma condição

Em seguida, você pode escrever uma expressão que é avaliada como verdadeira. O meu colega que só mostrou isso para me disse que eles têm alguns problemas usando esta para comparar cordas, mas é bastante puro para comparações simples usando ints.

! Janela Condição

No entanto, como disse em outra resposta, isso não é tão rápido quanto digitando o código de quebra diretamente.

Lucky! Visual Studio 2010 Expresso de C / C ++ faz apoiá-lo. Veja Como: especificar uma condição Breakpoint .

Eu tentei-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top