I am having an intermittent problem with an ISR that (after 300,000 -
400,000 interrupts) will lock up QNX. I am looking for suggestions on
debugging this issue. I am running NC6.2.0.
I have two versions of the code: one that utilizes
InterruptAttacheEvent() and a thread to handle the interrupt, and a
second that utilizes InterruptAttach(), and does the work in the actual
ISR. The thread versions will run forever, but the ISR will run around
2-3 hours before locking up the machine. Except for “cout” statements
for status messages, the ISR shares the same code base as the thread
The work consists of checking two hardware registers and based on their
contents, changes a buffer pointer. In both methods I have minimized
function calls to limit stack use, but do not have a quantitative
measure on the amount actually used.
I have tried using dumper to trap the error but the has not worked. I do
not have access to an ICE. Any suggestions on a method that will allow
me to capture information on the state of the machine just before the
If anyone is interested in actual code then I can email that to them
Thanks in advance for the help.