Re: Using hardware watchpoint for applications debugging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> colin wrote:.
> >     2. When an exception happens and we find that it's not touching the righ
> > address, we will discard it. However, exception will happen again because
> > the former instruction will be re-executed when the exception is finished.
> >
> 
> You'll need to single-step over the instruction which generated the
> unwanted watchpoint exception, with the watchpoint disabled. Then after
> handling the single step reenable the watchpoint and resume normal
> execution.

There's actually a simpler and more efficient approach in Linux.  The code 
already exists in the MIPS Linux kernel to "skip" the instruction responsible 
for the current exception, because the situation also arises for emulated 
instructions.   In do_watch(), in the cases where you want to ignore the
watchpoint, you should be able to just invoke compute_return_epc(regs)
and return.  There should be no need to handle single-step exceptions 
or disable/reenable the watchpoint.

            Regards,

            Kevin K.


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux