Comments (7)
@boost1231 thank you for report, looks like something wrong with async finite state machine. We'll check it.
from netcoredbg.
@noam-sol we'll try to make new release the next week
from netcoredbg.
Just checking to see if this has been worked on.
from netcoredbg.
We didn't have time to look at this yet. Does it still reproduce on the latest release?
from netcoredbg.
@gbalykov bug still here, just checked it (-_-).
@boost1231 sorry for the delay, we have a huge amount of work now. Here is the patch, will be in next release in public repo:
From 5d14ea8e30661ecbc3635d8f045ddf1da4074152 Mon Sep 17 00:00:00 2001
From: Mikhail Kurinnoi <[email protected]>
Date: Sun, 9 Apr 2023 15:56:42 +0300
Subject: [PATCH] Fix async stepping for Task<TResult>.
---
src/debugger/stepper_async.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/debugger/stepper_async.cpp b/src/debugger/stepper_async.cpp
index ef8f0f4..580f5ce 100644
--- a/src/debugger/stepper_async.cpp
+++ b/src/debugger/stepper_async.cpp
@@ -151,7 +151,8 @@ static HRESULT GetAsyncIdReference(ICorDebugThread *pThread, ICorDebugFrame *pFr
// Call 'ObjectIdForDebugger' property getter.
ToRelease<ICorDebugFunction> pFunc;
IfFailRet(pModule->GetFunctionFromToken(mdObjectIdForDebuggerGetter, &pFunc));
- IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, nullptr, 0, pValue.GetRef(), 1, ppValueAsyncIdRef, defaultEvalFlags));
+ // Note, builder (`this` value) could be generic type - Task<TResult>, type must be provided too.
+ IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, pType.GetRef(), 1, pValue.GetRef(), 1, ppValueAsyncIdRef, defaultEvalFlags));
return S_OK;
}
@@ -230,7 +231,8 @@ static HRESULT SetNotificationForWaitCompletion(ICorDebugThread *pThread, ICorDe
IfFailRet(pModule->GetFunctionFromToken(setNotifDef, &pFunc));
ICorDebugValue *ppArgsValue[] = {pBuilderValue, pNewBoolean};
- IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, nullptr, 0, ppArgsValue, 2, nullptr, defaultEvalFlags));
+ // Note, builder (`this` value) could be generic type - Task<TResult>, type must be provided too.
+ IfFailRet(pEvalHelpers->EvalFunction(pThread, pFunc, pType.GetRef(), 1, ppArgsValue, 2, nullptr, defaultEvalFlags));
return S_OK;
}
--
2.25.1
from netcoredbg.
Thanks @viewizard ! we have come across this bug and this patch seems to solve it. Do you know when the next version with the fix comes out?
from netcoredbg.
This should be fixed in latest release. Feel free to reopen if you see any more related issues.
from netcoredbg.
Related Issues (20)
- Debugging embedded assemblies HOT 2
- Failed command 'configurationDone':0x80131c3c HOT 11
- list command does not do anything HOT 5
- Issues inside chroot (Failed command 'configurationDone' : 0x8007000c) (nvim-dap) HOT 5
- New versions of NetCoreDbg consume high CPU usage while being in idle HOT 7
- [Question] How can we use netcoredbg for mono on x86 HOT 3
- Does not seem to work on .net core 2.1 HOT 9
- CMake build incorrectly sets RID to `linux` on alpine HOT 9
- Server rejected breakpoint (Windows) HOT 10
- Slow Performance when making IPC calls using named pipes HOT 6
- Please ignore and delete this issue. Incorrectly created under wrong account
- Failure to build tag 2.2.0-974 on Manjaro/Arch Linux HOT 4
- `ToString()` and `GetType()` no longer works on generic objects HOT 3
- Breakpoint maps to *nested* function instead of *outer* call HOT 6
- exception-breakpoints: allow filtering out 'internal' excetpions HOT 3
- list command fails in some projects HOT 5
- step-over sometimes steps-out/continues instead HOT 1
- add 'noDebug' support for launch configurations HOT 4
- Better evaluate expression ideas HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from netcoredbg.