Closed mahoekst closed 4 years ago
I tested it with
Microsoft Visual Studio Community 2019 Version 16.4.2
Mono JIT compiler version 5.18.1.0 (tarball Fri Mar 15 21:15:07 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp+hard
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(600)
Suspend: preemptive
GC: sgen (concurrent by default)
on
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l
You should test it with the latest none preview version of Visual Studio. If you have a simple test project. I could test it on my raspberry pi.
I just hit this same issue, trying to attach a debugger to a Godot Mono (game engine) project I'm prototyping.
I can attach the debugger with this extension, but when I try to set a breakpoint the same-ish error popup shows.
sorry I am not "into" the mono ecosystem and just barely know how to run an app (godot) that embeds mono, and attach a debugger to it.
FYI, using VS2019 and it's mono extension works. I can debug properly.
I know it's probably too impractical for you to test out my particular error because of the convoluted steps you'd have to take to repro it, but just in case you want to......
23685
demo-projects/ball-run
)@jasonswearingen The day before yesterday I had no luck. Visual Studio stopped, but no source code was displayed. However, I could not find any hint of the exception "System.MissingMethodException". Today it worked with the setting in step 5.
My steps:
start Godot_v3.2-beta6_mono_win64\Godot_v3.2-beta6_mono_win64.exe
import godot-csharp-tech\demo-projects\ball-run\project.godot
open godot-csharp-tech\demo-projects\ball-run\CSharp Tools Demo - Ball Run.sln
set "CSharp Tools Demo - Ball Run" as StartProject
IMPORTANT: Use the same configuration as in godot "Tools" (the source code path have to match) After that the output path is godot-csharp-tech\demo-projects\ball-run\mono\temp\bin\Tools for Visual Studio AND godot!
[godot] Run with "wait for debugger"
[VS] Attach to mono debugger (127.0.0.1)
Break points and debugging works for me as expected
I have used VSMonoDebugger 1.0.5 Settings: Debug/Deploy on local Windows: YES Local Deploy Path: EMPTY Mono Debug Port: 23685
But I wonder why in this case no mdb files are necessary!
@GordianDotNet I tried your workflow, but I am still getting the same error.
can you please clarify step 5? I think I am not performing the step properly. Here is what I did:
.mono\temp\bin\Tools\
, note the "." in front of mono, you didn't mention that in your output path, but I assume that was a typo? mono\temp\bin\Tools\
(without the ".") godot.exe can not find the built dll.@mahoekst and @jasonswearingen Can you look into Visual Studio 2019/Help/"About Microsoft Visual Studio" and use the Copy Info to paste your installed Extensions.
I added a old version of the Mono Debugger (see Mono.Debugging.VisualStudio.4.9.10-pre). It looks like VSMonoDebugger uses the newer dll versions from Visual Studio. Because the Mono.Debugging.Soft 4.9.10 doesn't have pdb files with source file informations. See mono-debugging-for-visual-studio-doesnt-become-ena
Have you installed something from Xamarin (Xamarin Tools, ...)?
yes, i have xamarin installed but don't use it. i'll delete that stuff and try again.
I uninstalled Xamarin, and now it's working! man, that was frustrating. I just happened to have it installed because I figured it wouldn't hurt, when trying to get debugging working. wow.
@GordianDotNet thank you for the help. I did a pull request on the Godot docs explaining how to use your debugger successfully.
Thanks again.
Trying to debug on my RPI Zero. I get this message: Latest version of mono installed. Mono JIT compiler version 5.18.0.240 (Debian 5.18.0.240+dfsg-3 Sat Apr 20 05:16:08 UTC 2019) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: SIGSEGV: normal Notifications: epoll Architecture: armel,vfp+hard Disabled: none Misc: softdebug Interpreter: yes LLVM: supported, not enabled. Suspend: preemptive GC: sgen (concurrent by default)
This is the error message dialog in Visual Studio 2019 Preview Version 16.5.0 Preview 1.0)
Microsoft Visual Studio
EXCEPTION: System.MissingMethodException: Method not found: 'System.String Mono.Debugger.Soft.ModuleMirror.get_SourceLink()'.
at Mono.Debugging.Soft.SoftDebuggerSession.GetSourceLinkMaps(MethodMirror method)
at Mono.Debugging.Soft.SoftDebuggerSession.GetSourceLink(MethodMirror method, String originalFileName) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerSession.cs:line 817
at Mono.Debugging.Soft.SoftEvaluationContext..ctor(SoftDebuggerSession session, StackFrame frame, EvaluationOptions options) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftEvaluationContext.cs:line 46
at Mono.Debugging.Soft.SoftDebuggerBacktrace.GetEvaluationContext(Int32 frameIndex, EvaluationOptions options) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerBacktrace.cs:line 222
at Mono.Debugging.Soft.SoftDebuggerBacktrace.CreateStackFrame(StackFrame frame, Int32 frameIndex) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerBacktrace.cs:line 175
at Mono.Debugging.Soft.SoftDebuggerBacktrace.GetStackFrames(Int32 firstIndex, Int32 lastIndex) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerBacktrace.cs:line 85
at Mono.Debugging.Client.Backtrace.GetFrame(Int32 index, Int32 fetchMultipleCount) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Client\Backtrace.cs:line 57
at Mono.Debugging.Client.Backtrace..ctor(IBacktrace serverBacktrace) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Client\Backtrace.cs:line 26
at Mono.Debugging.Soft.SoftDebuggerSession.GetThreadBacktrace(ThreadMirror thread) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerSession.cs:line 852
at Mono.Debugging.Soft.SoftDebuggerSession.HandleBreakEventSet(Event[] es, Boolean dequeuing) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerSession.cs:line 1995
at Mono.Debugging.Soft.SoftDebuggerSession.HandleEventSet(EventSet es) in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerSession.cs:line 1739
at Mono.Debugging.Soft.SoftDebuggerSession.EventHandler() in E:\A_work\3718\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerSession.cs:line 1639
OK