Hi! While I am new on genode/sel4, I encounter traditional problem with app debug.
I finally make iso image on my Golang test application. I use noux_fork.run as prototype, replacing fork for my test-go: <start name="noux" caps="500"> <resource name="RAM" quantum="1G"/> <config verbose="yes" stdin="/null" stdout="/log" stderr="/log"> <fstab> <null/> <log/> <rom name="test-go" /> </fstab> <start name="test-go"> </start> </config> </start>
As usual, it is failed on first start accessing 0 address: …. virtual address layout of core: overall [0000000000002000,0000000200000000) core image [0000000002000000,0000000003805000) ipc buffer [0000000003805000,0000000003806000) boot_info [0000000003806000,0000000003808000) stack area [0000000040000000,0000000050000000) ….
[init -> noux] arg(0): "test-go" ^M[init -> noux] --- noux started --- ^MWarning: flush page table entries - mapping cache full - PD: init -> noux -> test-go ^MWarning: flush page table entries - mapping cache full - PD: init -> noux -> test-go ^Mno RM attachment (READ pf_addr=0x0 pf_ip=0xa95b1 from pager_object: pd='init -> noux -> test-go' thread='ep') ^MWarning: invalid signal-context capability ^MWarning: page-fault, pager_object: pd='init -> noux -> test-go' thread='ep' ip=0xa95b1 pf-addr=0x0
Where I can find a map of load of my application? And symbols? I found only something like test-go file, which I can read using readelf -s… How to correspond pf_ip=0xa95b1 dress with code?
good idea is ti be able to print a calls stack at some point (may be with abort) - how I can do this?