Qt Creator: Disassembler failed
-
Hi,
I've configured a Bare Metal device with OpenOCD in Qt Creator.
If I right-click in the stack view and select "Open Disassembler at 0x..." i get a message "Disassembler failed:" in the Debugger log.
The addresses shown are 64-bit with the first 32 bits set to 0xffffffff. But the target is a 32 bit mips.
If i choose "Open Dissassembler at Address", and enter a 32-bit address it works.I think the error is because 64-bit addresses are passed to the disassemble command, but the addresses in the dump are 32-bit and Qt Creator can't match them.
Is there some configuration that needs to be done to avoid this?
thanks,
CedricBelow is the Debugger log output:
53set disassembly-flavor att <254-interpreter-exec console "disassemble /rm 0xffffffff80345360" >&"set disassembly-flavor att\n" >&"No symbol \"disassembly\" in current context.\n" >253^error,msg="No symbol \"disassembly\" in current context." >~"Dump of assembler code for function Cyg_Thread::check_this(cyg_assert_class_zeal) const:\n" >~"295\tCyg_Thread::check_this( cyg_assert_class_zeal zeal) const\n" >~"\n" >~"296\t{\n" >~"297\t// CYG_REPORT_FUNCTION();\n" >~"298\t\n" >~"299\t // check that we have a non-NULL pointer first\n" >~"300\t if( this == NULL ) return false;\n" >~" 0x80345344 <+0>:\t54 9d 02 8e\tlw\tv0,-25260(s0)\n" >~" 0x80345348 <+4>:\t01 00 42 24\taddiu\tv0,v0,1\n" >~"\n" >~"301\t \n" >~"302\t switch( zeal )\n" >~" 0x8034534c <+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <+52>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"303\t {\n" >~"304\t case cyg_system_test:\n" >~"305\t case cyg_extreme:\n" >~"306\t case cyg_thorough:\n" >~"307\t if( (state & SUSPENDED) && (suspend_count == 0) ) return false;\n" >~" 0x8034537c <+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <+80>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"308\t case cyg_quick:\n" >~"309\t // Check that the stackpointer is within its limits.\n" >~"310\t // Note: This does not check the current stackpointer value\n" >~"311\t // of the executing thread.\n" >~"312\t if( (stack_ptr > (stack_base + stack_size)) ||\n" >~" 0x803453a0 <+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~" 0x803453c4 <+128>:\t62 81 14 3c\tlui\ts4,0x8162\n" >~" 0x803453c8 <+132>:\t0c 00 b3 af\tsw\ts3,12(sp)\n" >~" 0x803453cc <+136>:\t80 a6 93 8e\tlw\ts3,-22912(s4)\n" >~" 0x803453d0 <+140>:\t08 00 b2 af\tsw\ts2,8(sp)\n" >~" 0x803453d4 <+144>:\t04 00 b1 af\tsw\ts1,4(sp)\n" >~"\n" >~"313\t (stack_ptr < stack_base) ) return false;\n" >~"314\t#ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT\n" >~"315\t if( stack_ptr < stack_limit ) return false;\n" >~"316\t#endif\n" >~"317\t case cyg_trivial:\n" >~"318\t case cyg_none:\n" >~"319\t default:\n" >~"320\t break;\n" >~"321\t };\n" >~"322\t\n" >~"323\t return true;\n" >~"324\t}\n" >~" 0x80345398 <+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~"\n" >~"End of assembler dump.\n" >254^done <255-interpreter-exec console "disassemble /rm 0xffffffff8034534c,0xffffffff803453c4" >~"Dump of assembler code from 0x8034534c to 0x803453c4:\n" >~"302\t switch( zeal )\n" >~" 0x8034534c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+52>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"303\t {\n" >~"304\t case cyg_system_test:\n" >~"305\t case cyg_extreme:\n" >~"306\t case cyg_thorough:\n" >~"307\t if( (state & SUSPENDED) && (suspend_count == 0) ) return false;\n" >~" 0x8034537c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+80>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"308\t case cyg_quick:\n" >~"309\t // Check that the stackpointer is within its limits.\n" >~"310\t // Note: This does not check the current stackpointer value\n" >~"311\t // of the executing thread.\n" >~"312\t if( (stack_ptr > (stack_base + stack_size)) ||\n" >~" 0x803453a0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <Cyg_Thread::check_this(cyg_assert_class_zeal) const+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~" 0x803453c4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+128>:\t62 81 14 3c\tlui\ts4,0x8162\n" >~" 0x803453c8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+132>:\t0c 00 b3 af\tsw\ts3,12(sp)\n" >~" 0x803453cc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+136>:\t80 a6 93 8e\tlw\ts3,-22912(s4)\n" >~" 0x803453d0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+140>:\t08 00 b2 af\tsw\ts2,8(sp)\n" >~" 0x803453d4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+144>:\t04 00 b1 af\tsw\ts1,4(sp)\n" >~"\n" >~"313\t (stack_ptr < stack_base) ) return false;\n" >~"314\t#ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT\n" >~"315\t if( stack_ptr < stack_limit ) return false;\n" >~"316\t#endif\n" >~"317\t case cyg_trivial:\n" >~"318\t case cyg_none:\n" >~"319\t default:\n" >~"320\t break;\n" >~"321\t };\n" >~"322\t\n" >~"323\t return true;\n" >~"324\t}\n" >~" 0x80345398 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~"\n" >~"End of assembler dump.\n" >255^done <256disassemble /r 0xffffffff8034534c,0xffffffff803453c4 >&"disassemble /r 0xffffffff8034534c,0xffffffff803453c4\n" >~"Dump of assembler code from 0x8034534c to 0x803453c4:\n" >~" 0x8034534c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+52>:\td0 04 06 24\tli\ta2,1232\n" >~" 0x8034537c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+80>:\td0 04 06 24\tli\ta2,1232\n" >~" 0x80345398 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~" 0x803453a0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <Cyg_Thread::check_this(cyg_assert_class_zeal) const+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~"End of assembler dump.\n" >256^done Disassembler failed:
-
Hi,
I've configured a Bare Metal device with OpenOCD in Qt Creator.
If I right-click in the stack view and select "Open Disassembler at 0x..." i get a message "Disassembler failed:" in the Debugger log.
The addresses shown are 64-bit with the first 32 bits set to 0xffffffff. But the target is a 32 bit mips.
If i choose "Open Dissassembler at Address", and enter a 32-bit address it works.I think the error is because 64-bit addresses are passed to the disassemble command, but the addresses in the dump are 32-bit and Qt Creator can't match them.
Is there some configuration that needs to be done to avoid this?
thanks,
CedricBelow is the Debugger log output:
53set disassembly-flavor att <254-interpreter-exec console "disassemble /rm 0xffffffff80345360" >&"set disassembly-flavor att\n" >&"No symbol \"disassembly\" in current context.\n" >253^error,msg="No symbol \"disassembly\" in current context." >~"Dump of assembler code for function Cyg_Thread::check_this(cyg_assert_class_zeal) const:\n" >~"295\tCyg_Thread::check_this( cyg_assert_class_zeal zeal) const\n" >~"\n" >~"296\t{\n" >~"297\t// CYG_REPORT_FUNCTION();\n" >~"298\t\n" >~"299\t // check that we have a non-NULL pointer first\n" >~"300\t if( this == NULL ) return false;\n" >~" 0x80345344 <+0>:\t54 9d 02 8e\tlw\tv0,-25260(s0)\n" >~" 0x80345348 <+4>:\t01 00 42 24\taddiu\tv0,v0,1\n" >~"\n" >~"301\t \n" >~"302\t switch( zeal )\n" >~" 0x8034534c <+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <+52>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"303\t {\n" >~"304\t case cyg_system_test:\n" >~"305\t case cyg_extreme:\n" >~"306\t case cyg_thorough:\n" >~"307\t if( (state & SUSPENDED) && (suspend_count == 0) ) return false;\n" >~" 0x8034537c <+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <+80>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"308\t case cyg_quick:\n" >~"309\t // Check that the stackpointer is within its limits.\n" >~"310\t // Note: This does not check the current stackpointer value\n" >~"311\t // of the executing thread.\n" >~"312\t if( (stack_ptr > (stack_base + stack_size)) ||\n" >~" 0x803453a0 <+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~" 0x803453c4 <+128>:\t62 81 14 3c\tlui\ts4,0x8162\n" >~" 0x803453c8 <+132>:\t0c 00 b3 af\tsw\ts3,12(sp)\n" >~" 0x803453cc <+136>:\t80 a6 93 8e\tlw\ts3,-22912(s4)\n" >~" 0x803453d0 <+140>:\t08 00 b2 af\tsw\ts2,8(sp)\n" >~" 0x803453d4 <+144>:\t04 00 b1 af\tsw\ts1,4(sp)\n" >~"\n" >~"313\t (stack_ptr < stack_base) ) return false;\n" >~"314\t#ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT\n" >~"315\t if( stack_ptr < stack_limit ) return false;\n" >~"316\t#endif\n" >~"317\t case cyg_trivial:\n" >~"318\t case cyg_none:\n" >~"319\t default:\n" >~"320\t break;\n" >~"321\t };\n" >~"322\t\n" >~"323\t return true;\n" >~"324\t}\n" >~" 0x80345398 <+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~"\n" >~"End of assembler dump.\n" >254^done <255-interpreter-exec console "disassemble /rm 0xffffffff8034534c,0xffffffff803453c4" >~"Dump of assembler code from 0x8034534c to 0x803453c4:\n" >~"302\t switch( zeal )\n" >~" 0x8034534c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+52>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"303\t {\n" >~"304\t case cyg_system_test:\n" >~"305\t case cyg_extreme:\n" >~"306\t case cyg_thorough:\n" >~"307\t if( (state & SUSPENDED) && (suspend_count == 0) ) return false;\n" >~" 0x8034537c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+80>:\td0 04 06 24\tli\ta2,1232\n" >~"\n" >~"308\t case cyg_quick:\n" >~"309\t // Check that the stackpointer is within its limits.\n" >~"310\t // Note: This does not check the current stackpointer value\n" >~"311\t // of the executing thread.\n" >~"312\t if( (stack_ptr > (stack_base + stack_size)) ||\n" >~" 0x803453a0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <Cyg_Thread::check_this(cyg_assert_class_zeal) const+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~" 0x803453c4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+128>:\t62 81 14 3c\tlui\ts4,0x8162\n" >~" 0x803453c8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+132>:\t0c 00 b3 af\tsw\ts3,12(sp)\n" >~" 0x803453cc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+136>:\t80 a6 93 8e\tlw\ts3,-22912(s4)\n" >~" 0x803453d0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+140>:\t08 00 b2 af\tsw\ts2,8(sp)\n" >~" 0x803453d4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+144>:\t04 00 b1 af\tsw\ts1,4(sp)\n" >~"\n" >~"313\t (stack_ptr < stack_base) ) return false;\n" >~"314\t#ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT\n" >~"315\t if( stack_ptr < stack_limit ) return false;\n" >~"316\t#endif\n" >~"317\t case cyg_trivial:\n" >~"318\t case cyg_none:\n" >~"319\t default:\n" >~"320\t break;\n" >~"321\t };\n" >~"322\t\n" >~"323\t return true;\n" >~"324\t}\n" >~" 0x80345398 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~"\n" >~"End of assembler dump.\n" >255^done <256disassemble /r 0xffffffff8034534c,0xffffffff803453c4 >&"disassemble /r 0xffffffff8034534c,0xffffffff803453c4\n" >~"Dump of assembler code from 0x8034534c to 0x803453c4:\n" >~" 0x8034534c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+8>:\t54 9d 02 ae\tsw\tv0,-25260(s0)\n" >~" 0x80345350 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+12>:\t54 9d 04 8e\tlw\ta0,-25260(s0)\n" >~" 0x80345354 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+16>:\t04 f5 0c 0c\tjal\t0x8033d410 <ramfs_fo_read+348>\n" >~" 0x80345358 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+20>:\t00 00 00 00\tnop\n" >~" 0x8034535c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+24>:\t18 b7 22 8e\tlw\tv0,-18664(s1)\n" >~"=> 0x80345360 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+28>:\tf8 ff 40 10\tbeqz\tv0,0x80345344 <Cyg_Thread::check_this(cyg_assert_class_zeal) const>\n" >~" 0x80345364 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+32>:\t54 80 12 3c\tlui\ts2,0x8054\n" >~" 0x80345368 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+36>:\t54 80 10 3c\tlui\ts0,0x8054\n" >~" 0x8034536c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+40>:\t54 80 11 3c\tlui\ts1,0x8054\n" >~" 0x80345370 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+44>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345374 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+48>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x80345378 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+52>:\td0 04 06 24\tli\ta2,1232\n" >~" 0x8034537c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+56>:\t4c 08 0d 0c\tjal\t0x80342130 <diag_snprintf(char*, size_t, char const*, ...)+8>\n" >~" 0x80345380 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+60>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345384 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+64>:\tdc 7a 04 26\taddiu\ta0,s0,31452\n" >~" 0x80345388 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+68>:\t18 78 25 26\taddiu\ta1,s1,30744\n" >~" 0x8034538c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+72>:\t74 78 47 26\taddiu\ta3,s2,30836\n" >~" 0x80345390 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+76>:\t9d dd 07 0c\tjal\t0x801f7674 <dump_buffer_save_exeption+8>\n" >~" 0x80345394 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+80>:\td0 04 06 24\tli\ta2,1232\n" >~" 0x80345398 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+84>:\t62 81 02 3c\tlui\tv0,0x8162\n" >~" 0x8034539c <Cyg_Thread::check_this(cyg_assert_class_zeal) const+88>:\t80 a6 43 8c\tlw\tv1,-22912(v0)\n" >~" 0x803453a0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+92>:\t03 00 64 10\tbeq\tv1,a0,0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>\n" >~" 0x803453a4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+96>:\t00 00 00 00\tnop\n" >~" 0x803453a8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+100>:\t08 00 e0 03\tjr\tra\n" >~" 0x803453ac <Cyg_Thread::check_this(cyg_assert_class_zeal) const+104>:\t00 00 00 00\tnop\n" >~" 0x803453b0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+108>:\t62 81 04 3c\tlui\ta0,0x8162\n" >~" 0x803453b4 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+112>:\ted 1c 0d 08\tj\t0x803473b4 <Cyg_IdleThread::Cyg_IdleThread()+112>\n" >~" 0x803453b8 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+116>:\t68 a6 84 24\taddiu\ta0,a0,-22936\n" >~" 0x803453bc <Cyg_Thread::check_this(cyg_assert_class_zeal) const+120>:\te8 ff bd 27\taddiu\tsp,sp,-24\n" >~" 0x803453c0 <Cyg_Thread::check_this(cyg_assert_class_zeal) const+124>:\t10 00 b4 af\tsw\ts4,16(sp)\n" >~"End of assembler dump.\n" >256^done Disassembler failed:
I'm not aware of such an option, but you should really ask this on the mailing list where QtCreator's developers are likely to see it.