Comandos do ponto de controle do depurador
Os pontos de controle [1] interrompe a execução do depurador quando uma CPU acessa um ponto numa determinada faixa da memória.
wpset
wp[{d|i|o}][set] <endereço>[:<faixa>],<comprimento>,<tipo>[,<condição>[,<ação>]]
Define um novo ponto de controle iniciando em determinado <endereço> que se
estende através do parâmetro <comprimento>. Toda a faixa do ponto de controle é o
<endereço> através do <endereço>+<comprimento>-1, inclusive. O
<endereço> pode ser opcionalmente seguido pela faixa de endereços da CPU
(consulte Determinando os dispositivos e as faixas de endereço para obter mais detalhes). Quando
nenhuma faixa de endereços for definida, o sufixo do comando define a faixa do endereço. O comando wpset retorna a
primeira faixa de endereços que for exposta pela CPU, wpdset retorna para a faixa do índice 1 (dados),
wpiset retorna para a faixa do índice 2 (E/S), já wposet retorna para a faixa do índice 3 (opcodes). O parâmetro
<tipo> determina o tipo de acesso que serão retidos, ele pode ser um
destes 3 valores r para os acessos de leitura, w para os acessos
para a escrita ou rw para ambos os acessos de leitura e escrita.
Já o parâmetro opcional <condição> permite que uma expressão seja
definida para que ela seja avaliada cada vez que um ponto de controle seja
alcançado. Quando o resultado da expressão for verdadeiro (não zero) o
ponto de controle interromperá a execução, caso contrário, a execução continuará sem
qualquer notificação. O parâmetro opcional <ação> oferece um comando
para ser executado sempre que um ponto de controle seja alcançado e a <condição>
seja verdadeira. Observe que talvez seja necessário cercar a ação
dentro de chaves { } garantindo que as vírgulas e os
ponto-e-vírgulas dentro do comando não sejam interpretadas no
contexto do próprio comando wpset.
Cada ponto de controle que for definido é atribuído a um índice numérico que pode ser utilizado como referência em outros comandos do ponto de controle. Durante a sessão os índices do ponto de controle são únicos.
Duas variáves estão disponíveis para tornar as expressões <condição>
mais uteis: para todos os pontos de controle, a variável wpaddr é definido no
endereço de acesso que foi alcançado; para a gravação no ponto de controle, a
variável wpdata é definida nos dados que estão sendo gravados.
Exemplos:
wp 1234,6,rw1234-1239.wp 23456:data,a,w,wpdata == 1data na faixa de endereço entre 23456-2345f e a gravação dos dados seja igual à 1.wp 3456:maincpu,20,r,1,{ printf "Read @ %08X\n",wpaddr ; g }:maincpu a execução será interrompida sempre que ocorrer uma leitura na primeira faixa de endereço entre 3456-3475. Quando ocorrer, imprima Read @ <wpaddr> no console do depurador e a execução é resumida.temp0 = 0 ; wp 45678,1,w,wpdata==f0,{ temp0++ ; g }45678 e onde o valor que será escrito seja igual à f0. Quando ocorrer, incremente o valor temp0 e a execução é resumida.Retorna para Comandos do ponto de controle do depurador.
wpclear
wpclear [<wpnum>[,…]]
Apaga os pontos de controle. Quando o <wpnum> for definido, as referências dos pontos de controle serão apagadas. Ao não ser definido, todos os pontos de controle serão apagados.
Exemplos:
wpclear 33.wpclearRetorna para Comandos do ponto de controle do depurador.
wpdisable
wpdisable [<wpnum>[,…]]
Desativa os pontos de controle. Quando o <wpnum> for definido, as referências dos pontos de controle serão desativadas. Ao não ser definido, todos os pontos de controle serão desativados.
Observe que ao desativar um ponto de controle ele não é excluído, marca temporariamente o ponto de controle como inativo. Os pontos de controle que forem desativados não causam a interrupção da execução, as condições associadas às expressões não serão avaliadas e seus respectivos comandos não serão executados.
Exemplos:
wpdisable 33.wpdisableRetorna para Comandos do ponto de controle do depurador.
wpenable
wpenable [<wpnum>[,…]]
Ativa os pontos de controle. Quando o <wpnum> for definido, as referências dos pontos de controle serão ativadas. Ao não ser definido, todos os pontos de controle serão ativados.
Exemplos:
wpenable 33.wpenableRetorna para Comandos do ponto de controle do depurador.
wplist
wplist [<CPU>]
Lista os pontos de controle atuais junto com seus índices e quaisquer ações ou condições associadas. Quando nenhuma <CPU> for definida, os pontos de controle em todas as CPUs do sistema serão listadas, ao ser definida, apenas os pontos de controle para esta CPU será listada. A <CPU> pode ser determinada por uma etiqueta ou através de um número do depurador. (consulte Determinando os dispositivos e as faixas de endereço para obter mais detalhes).
Exemplos:
wplistwplist .wplist maincpu:maincpu.Retorna para Comandos do ponto de controle do depurador.