Hi Frank, CR 6226326 has been put back to s10u3 also. It doesnt display the parameters. My understanding is it essentially makes ::findstack work on an AMD64 core.
The blog is a good pointer to find the parameters, but I would be more happy if mdb could displaythe parametes like it does for sparc cores. Makes a debuggers life much easier :) Thanks, Tirthankar Frank Hofmann wrote: > On Sun, 8 Jul 2007, Tirthankar wrote: > >> Hi, >> >> I am trying to debug a core from a AMD64 machine running S10u3. >> >> MDB is unable to show any parameters in the stack backtrace > > > Yes, stacktraces with arguments shown were only integrated in > onnv/OpenSolaris via: > > 6226326 Need to improve stack tracing on x86 > > This works via compiler support - onnv/OpenSolaris is compiled in such > a way that the generated assembly code stores function arguments on > the stack as well as in the (ABI-mandated) registers. This way, mdb > can show function arguments in stacktraces. > > Solaris 10 doesn't do that. You'll need to do a manual heuristic. ACT > is able to perform some of this work but it's not perfect. The whole > shebang of how argument passing on AMD64 works and which heuristics > are needed so that arguments can be reconstructed from the code flow > is explained in: > > http://opensolaris.org/os/community/documentation/doc_index/dev/ > > See "Crashdump Analysis". The file is: > > http://opensolaris.org/os/community/documentation/files/book.pdf > > FrankH. > >> >> cfa100 @ /net/coresvr/export/cores1/6570886plipstick1 $ mdb 5 >> mdb: warning: dump is from SunOS 5.10 Generic_125101-07; dcmds and >> macros may not match kernel implementation >> Loading modules: [ unix krtld genunix dtrace specfs cpu.AuthenticAMD.15 >> uppc pcplusmp ufs ipc ip sctp usba uhci s1394 fcp fctl emlxs qlc nca md >> lofs crypto zfs random cpc fcip logindmux ptm sppp ] >> > >> > ::status >> debugging crash dump vmcore.5 (64-bit) from plipstick1 >> operating system: 5.10 Generic_125101-07 (i86pc) >> panic message: BAD TRAP: type=d (#gp General protection) >> rp=fffffe8002012b80 addr=80a8000 >> dump content: kernel pages only >> > $c >> __1cG_SListJfind_elem6Mpvppn0AIListElem__3_+0x45() >> __1cSservice_admin_implN_unreferenced6Mpv_v_+0x3c() >> __1cPreplica_handlerNunref_by_ckpt6M_v_+0x172() >> __1cGhxdoorNunref_by_ckpt6M_v_+0x182() >> __1cOhxdoor_managerPrelease_by_ckpt6MrnJhxdoor_id__v_+0x116() >> __1cTckpt_handler_serverHprocess6MrnHservice__v_+0x2cb() >> __1cJckpt_elemHexecute6M_v_+0x4d() >> __1cTthreadpool_worker_tVdeferred_task_handler6M_v_+0x184() >> __1cKthreadpoolOthread_handler6FpnTthreadpool_worker_t__v_+0x25() >> cllwpwrapper+0x106() >> thread_start+8() >> > >> >> This is a serious limitation. I finally used ACT to see the parameters >> but it also was not showing proper parameters all the time. >> >> Is this a known issue ? >> Is there any other way to see the parameters ? >> >> -- >> Thanks, >> Tirthankar >> >> _______________________________________________ >> mdb-discuss mailing list >> mdb-discuss at opensolaris.org >>