Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RefEmit does not have the desktop api MarkSequencePoint #28206

Open
KevinRansom opened this issue Dec 14, 2018 · 11 comments
Open

RefEmit does not have the desktop api MarkSequencePoint #28206

KevinRansom opened this issue Dec 14, 2018 · 11 comments
Labels
area-System.Reflection.Emit needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration
Milestone

Comments

@KevinRansom
Copy link
Member

In FSI we use ILGenerator.MarkSequencePoint to enable debugging of generated code from the in-memory generated assembly.

Will this be added back, and will debugging coreclr code enable it to work correctly once it has been?

// @jkotas, @dsyme, @joshfree, @steveharter

@jkotas jkotas transferred this issue from dotnet/coreclr Dec 14, 2018
@danmoseley
Copy link
Member

The only active ref emit API port issue I know of is https://github.com/dotnet/corefx/issues/12055

@danmoseley
Copy link
Member

@jkotas this looks like another case of just expose in contract and add tests - do you believe it's more work than that? Any reason I shouldn't do this?

As we noted elsewhere, there is a lot of Ref.Emit present in S.P.Corelib that is not exposed in contracts, and I believe we planned to make strategic changes only this release.

@jkotas
Copy link
Member

jkotas commented Jan 8, 2019

Adding symbol/debugging support for reflection emit is a large (likely months) workitem. This is not a simple expose and add tests. The tests added for this would need to be debugger tests.

@danmoseley
Copy link
Member

OK. Deferred.

@msftgits msftgits transferred this issue from dotnet/corefx Feb 1, 2020
@msftgits msftgits added this to the Future milestone Feb 1, 2020
@maryamariyan maryamariyan added the untriaged New issue has not been triaged by the area owner label Feb 26, 2020
@steveharter
Copy link
Member

Linking #15704 since that has a discussion on saving IL potentially with debug information.

@steveharter steveharter removed the untriaged New issue has not been triaged by the area owner label Apr 13, 2020
@dsyme
Copy link

dsyme commented Sep 1, 2020

Just to say we're really missing this in F# land, as dotnet fsi is not emitting debug symbols. This affects both debugging of scripts and stack traces

@snuup
Copy link

snuup commented Jan 1, 2021

F# script debugging, as it is possible with .Net 4.8 is incredible helpful. Such scripts are not just simple bash like admin "scripts" but much more the birthplace of very difficult code, where data analysis grows into algorithms. Being able to debug at this stage is an incredible cool feature.

See also dotnet/fsharp#5457 (comment)

@jackfoxy
Copy link

First thing I did after installing VS 16.9.1 was enable Use .NET Core Scripting. It took me a while to discover this disables breakpoints in FSI.

@ghost ghost added the needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration label Mar 10, 2021
@zyzhu
Copy link

zyzhu commented Mar 10, 2021

I second @snuup's comments about importance of debugging in data analysis scripting. Without this feature, scripting F# in Visual Studio will be a far inferior experience compared to debugging R in RStudio, debugging Python in PyCharm or VSCode, or debugging MATLAB.

In addition, it will be a blocking issue for supporting debugging break points in Jupyter Lab through dotnet interactive kernel. dotnet/interactive#320

@steveharter
Copy link
Member

Keeping for future; once we have AssemblyBuilder.Save then we should consider.

@smoothdeveloper
Copy link

Also suffering from no debug in FSI, for exactly same reasons as @snuup. (dotnet/fsharp#15820)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Reflection.Emit needs-further-triage Issue has been initially triaged, but needs deeper consideration or reconsideration
Projects
No open projects
Development

No branches or pull requests