Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] DSF: register view problems

I'm observing the following problem with the register view.
I'm debugging an ARM program, that is running on QEMU simulator.

QEMU supports GDB stub API for register name/value retrieving and changing.
For the ARM core, it supports registers r0-r15, cpsr. There is a gap
between ro-r15 and cpsr registers: these registers are not supported
by QEMU and responded as bad register number.
If Register view of CDT (in DSF debug configuration) starts displaying
the registers from the beginnig and I scroll down row by row, every
register is displayed as expected: correct values for r0-r15(pc) and
error message as a value for others, correct value for cpsr.

If the one of the absent register is visible on the Register view and
I press Refresh for this view, ALL visible register becomes invalid
("Failed to execute MI command" as a value) including those that exist
(registers 10-15 in the log below).
What is interesting here, is that if one of the existing and visible
register is selected in the view, its name and value are displayed
correctly in the lower part of the Register view (like register number
10 in the log below) but not in upper half.

Here is the log of the traces for this case.

Shouldn't DSF skip requesting registers with empty names?

497,864 847-data-list-register-names
497,880 847^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12"\
,"sp","lr","pc","","","","","","","","","","cpsr","","","","","","","","","","","","","","","","",""\
,"","","","","","","","","","","","","","","","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10\
","d11","d12","d13","d14","d15","fpsid","fpscr","fpexc","r8_usr","r9_usr","r10_usr","r11_usr","r12_u\
sr","r8_fiq","r9_fiq","r10_fiq","r11_fiq","r12_fiq","r13_usr","r14_usr","r13_svc","r14_svc","r13_abt\
","r14_abt","r13_und","r14_und","r13_irq","r14_irq","r13_fiq","r14_fiq","spsr_svc","spsr_abt","spsr_\
und","spsr_irq","spsr_fiq"]
497,880 (gdb)
497,895 848-data-list-register-values x 10 11 12 13 14 15 16 17
497,895 849-data-list-register-values N 10 11 12 13 14 15 16 17
497,911 848^error,msg="bad register number"
497,911 (gdb)
497,911 850-data-list-register-values x 10
497,926 851-data-list-register-values N 10
497,926 849^error,msg="bad register number"
497,926 (gdb)
497,926 850^done,register-values=[{number="10",value="0x0"}]
497,926 (gdb)
497,926 851^done,register-values=[{number="10",value="0"}]
497,926 (gdb)
497,973 852-data-list-register-values t 10
497,973 853-data-list-register-values o 10
497,973 854-data-list-register-values d 10
497,973 852^done,register-values=[{number="10",value="0"}]
497,973 (gdb)
497,973 853^done,register-values=[{number="10",value="0"}]
497,973 (gdb)
497,973 854^done,register-values=[{number="10",value="0"}]
497,973 (gdb)


Back to the top