Received a SIGINT: Interrupt

Sysprogs forums Forums VisualGDB Received a SIGINT: Interrupt

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #783
    Anonymous
    Participant

    Hi,
    I am usin VisualGDB 4.1 and Visual Studi 2012. I am trying debug STM32F3Discovery board according to tutorial. But I have two problems. The first is, the program don’t stop runing in main. And the second one is, when I pres Break All button I get a dialog box with the text “Received a SIGINT: Interrupt” or with the text “Received a SIGTRAP: Trace/breakpoint trap”

    #3052
    ket
    Participant

    Hi,

    The SIGINT and SIGTRAP signals are supposed to happen when break all is used, that is how break all works for that platform.
    For the first issue, please give us a full gdb log. You can enable diagnostic gdb logging on the GDB settings page of VisualGDB Project Properties. Then start debugging and replicate your scenario (set a breakpoint in main before starting debugging), stop debugging and give us the log file from your project directory.

    #3051
    Anonymous
    Participant

    Hi,

    I understand the SIGINT and SIGTRAP signals are used for break all, but I don’t understand why I have to be informed about it by a dialog box every time when I press the break all button. When I tick the checkbox “Break when this exception type is thrown” nothing is changing and the dialog box is shown next time again.

    For the first issue, there is a log:
    C:SysGCCarm-eabibinarm-eabi-gdb.exe –interpreter mi C:ProjectsARMC++EmbeddedProject1EmbeddedProject1/Debug/EmbeddedProject1.elf
    -list-features
    =thread-group-added,id=”i1″
    ~”GNU gdb (GDB) 7.5.1n”
    ~”Copyright (C) 2012 Free Software Foundation, Inc.n”
    ~”License GPLv3+: GNU GPL version 3 or later nThis is free software: you are free to change and redistribute it.nThere is NO WARRANTY, to the extent permitted by law. Type “show copying”nand “show warranty” for details.n”
    ~”This GDB was configured as “–host=i686-pc-mingw32 –target=arm-eabi”.nFor bug reporting instructions, please see:n”
    ~”
    …n”
    ~”Reading symbols from C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\Debug\EmbeddedProject1.elf…”
    ~”done.n”
    ^done,features=[“frozen-varobjs”,”pending-breakpoints”,”thread-info”,”data-read-memory-bytes”,”breakpoint-notifications”,”ada-task-info”]
    -gdb-set stop-on-solib-events 1
    ^done
    -data-list-register-names
    ^done,register-names=[“r0″,”r1″,”r2″,”r3″,”r4″,”r5″,”r6″,”r7″,”r8″,”r9″,”r10″,”r11″,”r12″,”sp”,”lr”,”pc”,”f0″,”f1″,”f2″,”f3″,”f4″,”f5″,”f6″,”f7″,”fps”,”cpsr”,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””,””]
    -gdb-set disassembly-flavor intel
    ^error,msg=”No symbol “disassembly” in current context.”
    ^error,msg=”No symbol “disassembly” in current context.”
    -gdb-set print demangle off
    ^done
    -gdb-version
    ~”GNU gdb (GDB) 7.5.1n”
    ~”Copyright (C) 2012 Free Software Foundation, Inc.n”
    ~”License GPLv3+: GNU GPL version 3 or later
    nThis is free software: you are free to change and redistribute it.nThere is NO WARRANTY, to the extent permitted by law. Type “show copying”nand “show warranty” for details.n”
    ~”This GDB was configured as “–host=i686-pc-mingw32 –target=arm-eabi”.nFor bug reporting instructions, please see:n”
    ~”
    .n”
    ^done
    -break-insert -f main
    ^done,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x0800072e”,func=”main()”,file=”LEDBlink.cpp”,fullname=”C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\LEDBlink.cpp”,line=”15″,times=”0″,original-location=”main”}
    target remote :3333
    &”target remote :3333n”
    ~”Remote debugging using :3333n”
    =thread-group-started,id=”i1″,pid=”42000″
    =thread-created,id=”1″,group-id=”i1″
    ~”Reset_Handler () at C:/Users/Babel/AppData/Local/VisualGDB/EmbeddedBSPs/arm-eabi/com.sysprogs.arm.stm32/STM32F30xxx/startup_stm32f30x.c:204n”
    ~”204ttSCB->VTOR = (uint32_t)&g_pfnVectors;n”
    *stopped,frame={addr=”0x080004ec”,func=”Reset_Handler”,args=[],file=”C:/Users/Babel/AppData/Local/VisualGDB/EmbeddedBSPs/arm-eabi/com.sysprogs.arm.stm32/STM32F30xxx/startup_stm32f30x.c”,fullname=”C:\Users\Babel\AppData\Local\VisualGDB\EmbeddedBSPs\arm-eabi\com.sysprogs.arm.stm32\STM32F30xxx\startup_stm32f30x.c”,line=”204″},thread-id=”1″,stopped-threads=”all”
    ^done
    mon halt
    &”mon haltn”
    ^done
    ^done
    info shared
    &”info sharedn”
    ~”No shared libraries loaded at this time.n”
    ^done
    load
    &”loadn”
    ~”Loading section .isr_vector, size 0x188 lma 0x8000000n”
    +download,{section=”.isr_vector”,section-size=”392″,total-size=”22634″}
    ~”Loading section .text, size 0x614 lma 0x8000188n”
    +download,{section=”.text”,section-size=”1556″,total-size=”22634″}
    ~”Loading section .init_array, size 0x4 lma 0x800079cn”
    +download,{section=”.init_array”,section-size=”4″,total-size=”22634″}
    ~”Loading section .fini_array, size 0x4 lma 0x80007a0n”
    +download,{section=”.fini_array”,section-size=”4″,total-size=”22634″}
    ~”Start address 0x80004ed, load size 1956n”
    ~”Transfer rate: 5 KB/sec, 489 bytes/write.n”
    ^done
    mon reset init
    &”mon reset initn”
    @”target state: haltedn”
    @”target halted due to debug-request, current mode: Thread n”
    @”xPSR: 0x01000000 pc: 0x080004ec msp: 0x2000a000n”
    ^done
    info target
    &”info targetn”
    ~”Symbols from “C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\Debug\EmbeddedProject1.elf”.n”
    ~”Remote serial target in gdb-specific protocol:n”
    ~”Debugging a target over a serial line.n”
    ~”tWhile running this, GDB does not access memory from…n”
    ~”Local exec file:n”
    ~”t`C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\Debug\EmbeddedProject1.elf’, file type elf32-littlearm.n”
    ~”tEntry point: 0x80004ecn”
    ~”t0x08000000 – 0x08000188 is .isr_vectorn”
    ~”t0x08000188 – 0x0800079c is .textn”
    ~”t0x0800079c – 0x080007a0 is .init_arrayn”
    ~”t0x080007a0 – 0x080007a4 is .fini_arrayn”
    ~”t0x20000000 – 0x2000001c is .bssn”
    ^done
    -exec-continue
    ~”Note: automatically using hardware breakpoints for read-only addresses.n”
    ^running
    *running,thread-id=”all”
    =breakpoint-modified,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x0800072e”,func=”main()”,file=”LEDBlink.cpp”,fullname=”C:\\Projects\\ARM\\C++\\EmbeddedProject1\\EmbeddedProject1\\LEDBlink.cpp”,line=”15″,times=”1″,original-location=”main”}
    *stopped,reason=”breakpoint-hit”,disp=”keep”,bkptno=”1″,frame={addr=”0x0800072e”,func=”main”,args=[],file=”LEDBlink.cpp”,fullname=”C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\LEDBlink.cpp”,line=”15″},thread-id=”1″,stopped-threads=”all”
    -break-delete 1
    ^done
    -exec-continue
    ^running
    *running,thread-id=”all”
    *stopped,reason=”signal-received”,signal-name=”SIGINT”,signal-meaning=”Interrupt”,frame={addr=”0x0800071c”,func=”Delay”,args=[],file=”LEDBlink.cpp”,fullname=”C:\Projects\ARM\C++\EmbeddedProject1\EmbeddedProject1\LEDBlink.cpp”,line=”7″},thread-id=”1″,stopped-threads=”all”
    -gdb-exit
    ^exit
    =thread-group-exited,id=”i1″

    #3053
    support
    Keymaster

    Hi,

    Thanks for the details. The message box was originally used to provide information about the exact signal gdb reports, however it does indeed look redundant when the only information it contains is the SIGINT name. We will add an option to filter it out in the next release.

    Regarding your gdb log, it looks like you are not setting any breakpoints. The only -break-insert command sets a breakpoint in main() and this breakpoint is successfully hit later. Could you please share a screenshot of your breakpoints? Are you setting them before running your firmware or when it’s already running?

    #3055
    Anonymous
    Participant

    Hi,

    Thank you for solving my problem in the next release.

    You’re right that I have not set any breakpoint. But I tick the checkbox “Support ‘step into new instance’ through breakpoint in: main”. I think it is the one -break-insert command in the log, but the program does not stop there.

    #3054
    support
    Keymaster

    Hi,

    In order to automatically get stopped in main(), start debugging by pressing F10 (step into new instance), not F5 (start new instance).

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.