nforgeio / RaspberryDebugger

Visual Studio Extension to Debug C# on Raspberry Pi
Apache License 2.0
39 stars 12 forks source link

Crash when trying to start the debugging #32

Open aroenK opened 3 years ago

aroenK commented 3 years ago

I am trying to start the debugging of a remote PI with RaspberryDebugger. When starting up the connection visual studio keeps shutting down.

In the event viewer I get the following stack trace: Application: devenv.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException at RaspberryDebugger.Connection+d17.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at RaspberryDebugger.DebugHelper+d6.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at RaspberryDebugger.DebugStartCommand+d12.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b6_0(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr).

Raspberry Debugger version : 1.6

jefflill commented 3 years ago

Thanks for submitting this issue: What version of Visual Studio are you running?

aroenK commented 3 years ago

I have include a screenshot of the the visual studio that i am using to develop the app.

image

hbraasch commented 3 years ago

Thanks for developing this extension. It is great!!! I also now experience the VS crash, but it always happens when I try to select the target with Project->Raspberry Debug Settings, a few seconds after pressing the OK. The selected device verifies fine under Debug->Options->Rasperry Debugger. I'm currently using VS Community Edition (latest issue to date) 16.9.4

hbraasch commented 3 years ago

The problem only occurs with older projects. My workaround for this now is to create a new console project, select the device, and test. If it works, I add the old project to the solution, set that as the active project, and delete the new console app. Then I'm ready to go again.

jefflill commented 3 years ago

Sorry, I've been banging my head on another project and haven't been watching this repo recently.

Is there any chance you could send me one of these older projects so I could try to see what's going on here, perhaps show a warning or something? I could have a look this weekend.

hbraasch commented 3 years ago

Thanks for looking into this. Much appreciated.

I'm attaching a project that currently experiences this problem. LoraPi.zip

I'm also attaching a short video demonstrating the effect, for what its worth. https://user-images.githubusercontent.com/7484186/115632512-3d39b980-a34b-11eb-9e81-c7595b5712dd.mp4

Let me know if you need more files and info. Will be happy to supply.

hbraasch commented 3 years ago

Hardcoding the device with its ip address does not help, in case you wonder.

hbraasch commented 3 years ago

@jefflill Hi, did you manage to get a look at it? :-) Regards

flavioperucchi commented 3 years ago

I am facing the same problem.

joaozorro commented 3 years ago

Thanks for this great project @jefflill , I've started using it yesterday. I could replicate a scenario where VS crashes when the IP of my pi changed, as I didn't have it static, and I trying to use yesterday setting pointing to an IP that is not valid today. I'm using latest version of VS and NetCore 5.0

jefflill commented 3 years ago

My other (day) project has reached a bit of a milestone so I'm finally going to pop up and have a look at these. I'm going to create a new issue for the @joaozorro issue.

MagicAndre1981 commented 3 years ago

Thanks for this great project @jefflill , I've started using it yesterday. I could replicate a scenario where VS crashes when the IP of my pi changed, as I didn't have it static

I use the name of the pi, not the dynamic IP from DHCP to avoid this and it works fine.

aholland1973 commented 2 years ago

I'm having the exact same problem. This is with a new project and does it regardless of using ip address or raspberrypi.local as the address. VS version is:

image