Skip to content

Mago-mi: Wrong stack list frames (-stack-list-frames) #21

@andre2007

Description

@andre2007

For this source code, a break point is set on line 12 (writeln(args);).

import std.stdio;


void test1(string s)
{


}

void main(string[] args)
{
	writeln(args);
	string[] test = ["aaa", "bbb"];
	test1(test[0]);
}

Command -stack-list-frames returns following content

stack=[
frame={level="0",addr="0x00402256",func="D main+0x6",args=[],file="C:\\D\\projects\\rasptest1\\source\\app.d",fullname="C:\\D\\projects\\rasptest1\\source\\app.d",line="12"},
frame={level="1",addr="0x0040e34f",func="__D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv+0x1b",args=[]},
frame={level="2",addr="0x0040e2d1",func="__D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZv+0x89",args=[]},
frame={level="3",addr="0x0040e16c",func="__d_run_main+0x1f8",args=[]},
frame={level="4",addr="0x0040df64",func="__entrypoint.main+0x14",args=[],file="C:\\D\\projects\\rasptest1\\source\\app.d",fullname="C:\\D\\projects\\rasptest1\\source\\app.d",line="7"},
frame={level="5",addr="0x00430401",func="_mainCRTStartup+0xa9",args=[]},
frame={level="6",addr="0x75828484",from="C:\\Windows\\SysWOW64\\kernel32.dll"},
frame={level="7",addr="0x76ef2fea",from="C:\\Windows\\SysWOW64\\ntdll.dll"},
frame={level="8",addr="0x76ef2fba",from="C:\\Windows\\SysWOW64\\ntdll.dll"}]

app.d main file is listed 2 times, level 0 and level 4.

Visual Stdio Mago Debugger for a comparable project

WindowsApp1.exe!D main() Line 12
WindowsApp1.exe!__D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv() + 0x1b bytes
WindowsApp1.exe!__D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZv() + 0x89 bytes
WindowsApp1.exe!__d_run_main() + 0x1f8 bytes
WindowsApp1.exe!__entrypoint.main() Line 7 + 0x11 bytes
WindowsApp1.exe!_mainCRTStartup() + 0xa9 bytes
kernel32.dll!75828484	
ntdll.dll!76ef2fea	
ntdll.dll!76ef2fba	

The same application debugged under GDB (linux) returns following result:

stack=[
frame={level="0",addr="0x0000000000440828",func="D main",file="source/app.d",fullname="/mnt/c/D/projects/rasptest1/source/app.d",line="12"},
frame={level="1",addr="0x0000000000453a94",func="rt.dmain2._d_run_main()"},
frame={level="2",addr="0x0000000000453924",func="rt.dmain2._d_run_main()"},
frame={level="3",addr="0x0000000000453a03",func="rt.dmain2._d_run_main()"},
frame={level="4",addr="0x0000000000453924",func="rt.dmain2._d_run_main()"},
frame={level="5",addr="0x000000000045388f",func="_d_run_main"},
frame={level="6",addr="0x0000000000450d2e",func="main"}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions