Thanks for the information but I am still not hitting breakpoints for application program for some reasons. Below is what I have done.
1.I used a modified blink program to cause crash in order to trigger panic handler. And I got following dump in UART:
Initialization complete. Entering main loop
panicked at 'Process blink had a fault', /home/leeyuc/.rustup/toolchains/nightly -2020-06-03-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod .rs:16:9
Kernel version release-1.5-1096-gad9387a57
---| Debug buffer not empty. Flushing. May repeat some of last message(s):
NRF52 HW INFO: Variant: Unspecified, Part: N52832, Package: QF, Ram: K64, Flash: K512
Loading processes from flash=0x00030000-0x0007FFFF into sram=0x20002000-0x2000FF FF
Loaded process[0] from flash=0x00030000-0x00030FFF into sram=0x20002000-0x20003F FF = "blink"
---| No debug queue found. You can set it with the DebugQueue component.
---| Fault Status |---
No Coprocessor Usage Fault: true
Forced Hard Fault: true
Fault Status Register (CFSR): 0x00080000
Hard Fault Status Register (HFSR): 0x40000000
---| App Status |---
App: blink - [Fault]
Events Queued: 0 Syscall Count: 0 Dropped Callback Count: 0
Restart Count: 0
Last Syscall: None
╔═══════════╤══════════════════════════════════════════╗
║ Address │ Region Name Used | Allocated (bytes) ║
╚0x20004000═╪══════════════════════════════════════════╝
│ ▼ Grant 1032 | 1032
0x20003BF8 ┼───────────────────────────────────────────
│ Unused
0x20002C00 ┼───────────────────────────────────────────
│ ▲ Heap ? | ? S
?????????? ┼─────────────────────────────────────────── R
│ Data ? | ? A
?????????? ┼─────────────────────────────────────────── M
│ ▼ Stack ? | ?
0x20002BE0 ┼───────────────────────────────────────────
│ Unused
0x20002000 ┴───────────────────────────────────────────
.....
0x00031000 ┬─────────────────────────────────────────── F
│ App Flash 4032 L
0x00030040 ┼─────────────────────────────────────────── A
│ Protected 64 S
0x00030000 ┴─────────────────────────────────────────── H
R0 : 0x00000000 R6 : 0x00000000
R1 : 0x00000000 R7 : 0x00016000
R2 : 0x00000000 R8 : 0x00000000
R3 : 0x20002C00 R10: 0x00000000
R4 : 0x20002D34 R11: 0x00000000
R5 : 0x00000000 R12: 0x3B6121AE
R9 : 0x00000000 (Static Base Register)
SP : 0x20002BE0 (Process Stack Pointer)
LR : 0x00000001
PC : 0x00030084
YPC : 0x00000000
APSR: N 0 Z 0 C 1 V 0 Q 0
GE 0 0 0 0
EPSR:
ICI.IT 0x00
ThumbBit true
Cortex-M MPU
Region 0: [0x20002000:0x20004000], length: 8192 bytes; ReadWrite (0x3)
Sub-region 0: [0x20002000:0x20002400], Enabled
Sub-region 1: [0x20002400:0x20002800], Enabled
Sub-region 2: [0x20002800:0x20002C00], Enabled
Sub-region 3: [0x20002C00:0x20003000], Enabled
Sub-region 4: [0x20003000:0x20003400], Disabled
Sub-region 5: [0x20003400:0x20003800], Disabled
Sub-region 6: [0x20003800:0x20003C00], Disabled
Sub-region 7: [0x20003C00:0x20004000], Disabled
Region 1: [0x00030000:0x00031000], length: 4096 bytes; ReadOnly (0x6)
Sub-region 0: [0x00030000:0x00030200], Enabled
Sub-region 1: [0x00030200:0x00030400], Enabled
Sub-region 2: [0x00030400:0x00030600], Enabled
Sub-region 3: [0x00030600:0x00030800], Enabled
Sub-region 4: [0x00030800:0x00030A00], Enabled
Sub-region 5: [0x00030A00:0x00030C00], Enabled
Sub-region 6: [0x00030C00:0x00030E00], Enabled
Sub-region 7: [0x00030E00:0x00031000], Enabled
Region 2: Unused
Region 3: Unused
Region 4: Unused
Region 5: Unused
Region 6: Unused
Region 7: Unused
To debug, run `make debug RAM_START=0x20002000 FLASH_INIT=0x3006c`
in the app's folder and open the .lst file.