[Mono-bugs] [Bug 483010] New: Unable to debug source code via "ilasm /debug=impl" and ".line"
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Mar 6 15:37:35 EST 2009
https://bugzilla.novell.com/show_bug.cgi?id=483010
Summary: Unable to debug source code via "ilasm /debug=impl"
and ".line"
Classification: Mono
Product: Mono: Debugger
Version: 2.4.x
Platform: i686
OS/Version: openSUSE 11.1
Status: NEW
Severity: Normal
Priority: P5 - None
Component: backend
AssignedTo: martin at novell.com
ReportedBy: stephen at gennard.net
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Created an attachment (id=277781)
--> (https://bugzilla.novell.com/attachment.cgi?id=277781)
An example of using "ilasm /debug=imp" and screen shots of working on another
environment..
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64;
SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.21022; InfoPath.2; .NET CLR 3.5.30729;
NET CLR 3.0.30618; MS-RTC LM 8)
Background:
Our language generates ilasm source code and uses ilasm to create assemblies.
To enable debugging we use "ilasm /debug=impl" ie: it uses implicit sequence
points embedded in the .il. This combined with use of the
DebuggerHiddenAttribute and ".line 0xfeefee" we are able to hide our background
runtime code. This enables us to basic line + break-point debugging.
For a much richer debugging experience we have extended Microsoft Visual
Stdio environment with out debugger expression evalulator that understand
our language. For purpose of this bug report we are only interested in
basic line + break-point style debugging.
I have put together a canned example that demonstrate how we use this. It
contained in hello.il (with the target source code being hello.cbl).
Reproducible: Always
Steps to Reproduce:
1. ilasm /debug=impl hello.il
2. mdb hello.exe
3. run
Starting program: hello.exe
Thread @1 stopped at #0: 0xb787042e in hello.Main()+0x6 at
/home/spg/src/debugger/hello.il:50.
50 call void [mscorlib]System.Console::WriteLine(string)
Actual Results:
spg at linux-ga3j:~/src/debugger> ilasm /debug=impl hello.il
Assembling 'hello.il' , no listing file, to exe --> 'hello.exe'
Operation completed successfully
spg at linux-ga3j:~/src/debugger> mdb hello.exe
Mono Debugger
(mdb) run
Starting program: hello.exe
Thread @1 stopped at #0: 0xb787042e in hello.Main()+0x6 at
/home/spg/src/debugger/hello.il:50.
50 call void [mscorlib]System.Console::WriteLine(string)
(mdb) break 1
ERROR: Cannot find method corresponding to line 1 in `hello.il'.
(mdb)
(mdb) quit
The program is running. Exit anyway? (y or n) y
Expected Results:
spg at linux-ga3j:~/src/debugger> mdb hello.exe
Mono Debugger
(mdb) run
Starting program: hello.exe
Thread @1 stopped at #0: 0xb787042e in hello.Main()+0x6 at
/home/spg/src/debugger/hello.cbl:1.
1 display "Hello world - line 1"
(mdb) quit
If you require any further information, my work email is
stephen.gennard at microfocus.com too.
Note: our intent is to add a new language to mono's growing list of languages
and thus debugging support for us is important.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list