Open Pilchie opened 4 years ago
From @Pilchie on Wednesday, March 11, 2020 7:16:00 PM
@gregg-miskelly any ideas? What's the best way to report this?
From @gregg-miskelly on Wednesday, March 11, 2020 11:18:26 PM
Unfortunately the debugger doesn't know the real exit code on Linux/Mac, so ignore that part of the message.
Can someone move the issue to https://github.com/omnisharp/omnisharp-vscode? I am on parental leave right now, but hopefully someone can try to help you understand what is going on.
@zmp2000 Is it possible for you to share what the property Informacao in EmpresaObjProxy does?
Also could you enable engineLogging and share the logs?
"logging": {
"engineLogging": true
}
Hi @WardenGnaw , Well EmpresaObjProxy is an object created by the NHibernate framework, the framework inherits the object EmpresaObj So basically this object created by NHibernate overrides properties from the inherited class, instead of holding the property information it creates a method to load the object from the DataBase (The Lazy Load Method)
So when I try to read the property "Informacao" it is actually trying to retrieve the information from the database
I have activated the log from engineLogging as you told and heres the info
Could you add more to the logs before seq: "362"
? That might have more information on what is happening before it tries to evaluate InformacaoProxy.ToString
I'll include the whole log from the beginning (I'm starting the application and pausing just after the ConfigureServices) and then I try to evaluate the object.
I have attached the log as a txt file
I'm having the same issue with Entity Framework Core objects - the debugger is crashing while trying to evaluate any proxied properties. EF Core uses Castle.Proxy from what I can tell. Would it be useful to get more logging from my crashes?
@jamiepenney if you have a repro that you could share, that would be helpful. This is unlikely to be an issue with this extension, so it is probably unlikely that further debugger logs would help.
@gregg-miskelly sure, I've made one based on my company's standard template here https://github.com/IonTechnologies/DebuggerFailureRepro
It's pretty much the standard ASP.NET Core template, plus Entity Framework Core with a Postgres database and ASP.NET Identity.
I've put reproduction steps in the readme. Let me know if it they don't work - I am working on OSX, if that makes a difference.
The error message I get is "The target process exited with code 0 while evaluating the function 'Castle.Proxies.UserProxy.UserData.get'.The program '[78709] debug_failure.dll' has exited with code 0 (0x0)."
To me, it seems like it's blowing up while trying to access the lazy-loaded collection.
Thanks! I was able to reproduce the problem. I will see if I can figure out what is going on...
What is going on is that the target process is running into an access violation. It appears to be the same problem as in https://github.com/dotnet/runtime/issues/12739. I will leave this bug active for now, and I added a note to that bug with your repro.
Thanks @gregg-miskelly!
From @zmp2000 on Wednesday, March 11, 2020 6:50:12 PM
Hi, I have a asp.net core project which references another .net standard project which acts as a repository for retrieving database information. This repository uses NHibernate ORM and PostgreSQL connection.
The project works fine except when I try to debug any retrieved information from the Repository, the objects are lazyloaded as proxy objects just like Entity Framework does.
So when the debugger tries to evaluate the object it throws the message The target process exited with code 0 while evaluating the function 'EmpresaObjProxy.get_Informacao' [27373] quemmeatende.ui.dll' has exited with code 0 (0x0).
This problem is only occurring on Linux with VS Code I'v tested it under linux on both Vs Code and Visual Studio Comunity and both works fine.
Here my dotnet --info output: .NET Core SDK (reflecting any global.json): Version: 3.1.101 Commit: b377529961
Runtime Environment: OS Name: linuxmint OS Version: 19.3 OS Platform: Linux RID: linux-x64 Base Path: /usr/share/dotnet/sdk/3.1.101/
Host (useful for support): Version: 3.1.1 Commit: a1388f194c
.NET Core SDKs installed: 2.1.803 [/usr/share/dotnet/sdk] 2.2.402 [/usr/share/dotnet/sdk] 3.0.102 [/usr/share/dotnet/sdk] 3.1.101 [/usr/share/dotnet/sdk]
.NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.All 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.15 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.0.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.15 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 3.0.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
So how can I provide more information on why the process is exiting? Because code 0 means no errors
Copied from original issue: dotnet/aspnetcore#19777