Comandos do ponto de interrupção do depurador¶
bpset¶
bp[set] <endereço>[:<CPU>][,<condição>[,<ação>]]
Define uma nova execução do breakpoint num determinado <endereço>. O <endereço> pode ser seguido por dois pontos, uma etiqueta ou o número de depuração da CPU para definir um ponto de interrupção para uma determinada CPU. Caso nenhuma CPU seja informada, o ponto de interrupção será definido na CPU que estiver atualmente visível no depurador.
O parâmetro de <condição> opcional permite que você possa definir uma expressão que será avaliada toda a vez que o endereço de um ponto de interrupção for alcançado.
Caso o resultado da expressão seja verdadeiro (não zero), o ponto de
interrupção suspenderá a execução; caso contrário, a execução continuará
sem qualquer notificação. O parâmetro opcional <ação> fornece um
comando para ser executado sempre que o ponto de interrupção for alcançado e a
<condição> seja verdadeira. Observe que talvez seja necessário cercar
a ação com chaves { }
para garantir que as vírgulas e o ponto e
vírgula dentro do comando não sejam interpretados no contexto do próprio
comando bpset
.
A cada ponto de interrupção definido é atribuído a um índice numérico que pode ser usado para se referir a ele em outros comandos de ponto de interrupção. Ao longo de uma sessão, os índices do ponto de interrupção são únicos.
Exemplos:
bp 1234
1234
.bp 23456,a0 == 0 && a1 == 0
23456
e a expressão (a0 == 0 && a1 == 0)
seja verdadeira.bp 3456:audiocpu,1,{ printf "A0=%08X\n",a0 ; g }
:audiocpu
que suspenda uma execução sempre que PC seja igual à 3456
. Quando isso acontecer, imprime A0=<a0val>
no console do deputador e continua a execução.bp 45678:2,a0==100,{ a0 = ff ; g }
45678
e a expressão a0 == 100
seja verdadeira. Quando isso acontecer, define a0
para ff
e continua a execução.temp0 = 0 ; bp 567890,++temp0 >= 10
567890
e a expressão ++temp0 >= 10
seja verdadeira. Isso apenas será interrompido de forma efetiva depois que o ponto de interrupção for alcançado 16 vezes.Retorna para Comandos do ponto de interrupção do depurador.
Halt no Inglês.
bpclear¶
bpclear [<bpnum>[,…]]
Limpa todos os pontos de interrupção. Caso um <bpnum> seja definido, apenas os pontos de interrupção relacionados a ele serão limpos, caso contrário, todos serão.
Exemplos:
bpclear 3
bpclear
Retorna para Comandos do ponto de interrupção do depurador.
bpdisable¶
bpdisable [<bpnum>[,…]]
Desativa os pontos de interrupção. Caso um <bpnum> seja definido, apenas os pontos de interrupção citados serão desativados, caso contrário, todos serão.
Observe que ao desativar um ponto de interrupção ele não é eliminado, apenas marca temporariamente o ponto de interrupção como inativo. Os pontos de interrupção desativados não causarão a suspensão da execução, as expressões relacionadas com as suas respectivas condições não serão avaliadas e seus comandos relacionados não serão executados.
Exemplos:
bpdisable 3
bpdisable
Retorna para Comandos do ponto de interrupção do depurador.
bpenable¶
bpenable [<bpnum>[,…]]
Ativa os pontos de interrupção. Caso um <bpnum> seja definido, apenas os pontos de interrupção citados serão ativados, caso contrário, todos serão.
Exemplos:
bpenable 3
bpenable
Retorna para Comandos do ponto de interrupção do depurador.
bplist¶
bplist [<CPU>]
Lista os pontos de interrupção existentes juntamente com seus índices e quaisquer outras condições ou ações associadas. Caso nenhuma <CPU> esteja definida, serão listados os pontos de interrupção para todas as CPUs do sistema, caso contrário, serão listados apenas os pontos de interrupção numa determinada CPU. A <CPU> pode ser definida pela etiqueta ou pelo número da CPU no depurador (consulte o capítulo Determinando os dispositivos e as faixas de endereço para obter mais informações).
Exemplos:
bplist
bplist .
bplist maincpu
:maincpu
.Retorna para Comandos do ponto de interrupção do depurador.