[ オリジナルレポート ]

BugID: #03583

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
システムコア解決済み修正済み2009-12-14 13:162009-12-22 02:21
 
テスターFirewave担当者Firewaveソース
バージョン0.135u3発生バージョン修正バージョン0.135u4
修正コミットプルリク
フラグ
セット Windows Debug
セット詳細
 
概 要スタッククロールが生成されない。
詳 細Older version of MAME would add a stack crawl to the exception message when a .map files exists, that looked like this:

-----------------------------------------------------
Exception at EIP=00CB2CAB (tilemap_draw_primask+0x054e): INTEGER DIVIDE BY ZERO
-----------------------------------------------------
EAX=00000200 EBX=0EB31C00 ECX=00000200 EDX=00000000
ESI=0EB01EF8 EDI=0000FF02 EBP=0022D418 ESP=0022D370
-----------------------------------------------------
Stack crawl:
exception-> 00CB2CAB (tilemap_draw_primask+0x054e)
0022D41C: 00CB2F80 (tilemap_draw+0x0035)
0022D43C: 005458A7 (deco16_tilemap_2_draw+0x005b)
0022D48C: 00558E16 (video_update_simpl156+0x0086)
0022D4FC: 00D16186 (video_frame_update+0x16c6)
0022D86C: 00CFBB21 (mame_timer_set_global_time+0x045d)
0022D87C: 00CB4A18 (activecpu_get_info_int+0x0038)
0022D8AC: 00CB6B33 (cpunum_execute+0x00f7)
0022DFB0: 00558D90 (video_update_simpl156+0x0000)
0022FDDC: 01379495 (__main+0x00a5)


This has not be working for a while and it appears the problem is the .map format. MAME reads it like this in winmain.c:
if (sscanf(line, ".text           0x%08x 0x%x", base, size) == 2)


but the whitespaces between the base and the size part are more than one can can differ in amount. Here's some examples from the .map file:
.text           0x00401000  0x1167a00
 .text          0x0041b1e0     0x1660 obj/windows/mameud/mame/aristocr.a(archimds.o)
 .text          0x00427440       0xa0 obj/windows/mameud/mame/atari.a(subs.o)
再現手順 
追加情報 
 
添付ファイル