如何解决这个未解决的断点警告?

时间:2014-05-08 16:34:56

标签: c++ c arrays string qnx

int id1;   //variables used in the isr should be volatile
int chid;

void *ConfigureISR(void)   //void *ISR (void *arg)
{
    /*  the software must tell the OS that it wishes to associate the ISR with a particular source of interrupts
    * /  *  On x86 platforms, there are generally 16 hardware Interrupt Request lines (IRQs) */
    StartInterruptTime = GetTimeStamp();   //startTime of the interrupt
    // volatile int irq = 11;   //0 :   A clock that runs at the resolution set by ClockPeriod()
    //  InterruptEnable();
    ThreadCtl (_NTO_TCTL_IO, NULL);  // enables the hardware interrupt
    // Initialize event structure
    //
    // Setup COID and event
    //
    /* Tell the kernel to attach an interrupt signal event to this thread */
    //        chid = ChannelCreate( 0 );
    SIGEV_INTR_INIT( &event);
    //id1 = InterruptAttach(0, ISR, NULL, 0, 0);    // ISR is the interrupt service routine
    id1 = InterruptAttach(_NTO_INTR_CLASS_SYNTHETIC, ISR, NULL, 0, 0);
    if (id1 == -1)
    {
        fprintf(stderr, "can't attach to IRQ\n");
        perror (NULL);
        exit (EXIT_FAILURE);
    }
    while(1)
    {
        InterruptWait(NULL, NULL);
    }
    EndInterruptTime =  GetTimeStamp();
    InterruptLatency = (EndInterruptTime - StartInterruptTime);
    printf("Inerrupt latency is %llu",InterruptLatency);   //I am getting warning
    measurements[17] = InterruptLatency;
}

我在另一个.c程序中获取StartInterruptTime并在上面的程序中使用该时间戳来计算两者之间的差异(即InterruptLatency)。我在调试程序时收到以下警告,并且EndInterruptTime也为零,但启动中断具有double值。

WARNING : Multiple markers at this line
    - Unresolved breakpoint
有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

确定。如果InterruptLatency类型不是int64_t,请使用此printf("Inerrupt latency is %lu",InterruptLatency);

事实上,在InterruptLatency

中使用正确类型的pintf("Inerrupt latency is %Type_of_InterruptLatency",InterruptLatency);