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

[debugger]Componentize debugger #54887

Merged
merged 37 commits into from
Jul 1, 2021

Conversation

thaystg
Copy link
Member

@thaystg thaystg commented Jun 29, 2021

Using the same infrastructure used by hot-reload and diagnostics_tracing.

dotnet.wasm size release mode linking stubs linking debugger without componentize Reduced when not linking debugger
adding debugger to components 2201628 2284519 2267630 2,91%
brotli adding debugger to components 768380 797966 792072 2,99%

…bugger2

* origin/main: (107 commits)
  Disable MacCatalyst arm64 PR test runs on staging pipeline (dotnet#54678)
  [WASM] Fix async/await in config loading (dotnet#54652)
  Fix for heap_use_after_free flagged by sanitizer (dotnet#54679)
  [wasm] Bump emscripten to 2.0.23 (dotnet#53603)
  Fix compiler references when building inside VS (dotnet#54614)
  process more TLS frames at one when available (dotnet#50815)
  Add PeriodicTimer (dotnet#53899)
  UdpClient with span support (dotnet#53429)
  exclude fragile tests (dotnet#54671)
  get last error before calling a method that might fail as well (dotnet#54667)
  [FileStream] add tests for device and UNC paths (dotnet#54545)
  Fix sporadic double fd close (dotnet#54660)
  Remove Version.Clone from AssemblyName.Clone (dotnet#54621)
  [wasm] Enable fixed libraries tests (dotnet#54641)
  [wasm] Fix blazor/aot builds (dotnet#54651)
  [mono][wasm] Fix compilation error on wasm (dotnet#54659)
  Fix telemetry for Socket connects to Dns endpoints (dotnet#54071)
  [wasm] Build static components; include hot_reload in runtime (dotnet#54568)
  [wasm][debugger] Reuse debugger-agent on wasm debugger (dotnet#52300)
  Put Crossgen2 in sync with dotnet#54235 (dotnet#54438)
  ...
@ghost
Copy link

ghost commented Jun 29, 2021

Tagging subscribers to this area: @thaystg
See info in area-owners.md if you want to be subscribed.

Issue Details
Author: thaystg
Assignees: -
Labels:

area-Debugger-mono

Milestone: -

@lambdageek
Copy link
Member

Looks pretty good overall. I didn't see any other issues. Ping me when you'd like me to look again/approve.

@thaystg thaystg marked this pull request as ready for review June 30, 2021 21:24
@thaystg
Copy link
Member Author

thaystg commented Jun 30, 2021

@lambdageek, it is ready! Thanks a lot!

Copy link
Member

@lambdageek lambdageek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

mono_ss_args_destroy (SingleStepArgs *ss_args);

int
mono_get_this_async_id (DbgEngineStackFrame *frame);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this function name is too general. what about mono_de_frame_async_id?

@@ -489,15 +349,14 @@ void mono_de_unlock (void);
// domain handling
void mono_de_foreach_domain (GHFunc func, gpointer user_data);
void mono_de_domain_add (MonoDomain *domain);
void mono_de_domain_remove (MonoDomain *domain);
void mono_de_domain_remove (MonoDomain *domain); //never called, can remove?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea, it's ok to remove - we don't have domain unloading in dotnet/runtime

Copy link
Member

@lewing lewing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If Aleksey is happy I'm happy with it.

@@ -120,7 +120,7 @@ MonoAssembly* mono_assembly_request_load_from (MonoImage *image, const
const MonoAssemblyLoadRequest *req,
MonoImageOpenStatus *status);

MonoAssembly* mono_assembly_request_byname (MonoAssemblyName *aname,
MONO_COMPONENT_API MonoAssembly* mono_assembly_request_byname (MonoAssemblyName *aname,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does MONO_COMPONENT_API actually do?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Export the function using __declspec(dllexport) or __attribute__ ((__visibility__ ("default")))

@lewing
Copy link
Member

lewing commented Jul 1, 2021

android failure looks like dotnet/xharness#660

@lewing lewing merged commit 08a7b23 into dotnet:main Jul 1, 2021
thaystg added a commit to thaystg/runtime that referenced this pull request Jul 2, 2021
* origin/main: (27 commits)
  [mono][llvm] Only emit 'LLVM failed' messages on verbosity > 0. (dotnet#55060)
  Http2Stream throws a wrapped Http2ConnectionException on GO_AWAY (dotnet#54625)
  [main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/xharness dotnet/hotreload-utils (dotnet#55007)
  disable a failing test. (dotnet#55063)
  [mono][wasm] Disable some tests which crash on AOT. (dotnet#55054)
  Fix fix_allocation_context for regions (dotnet#54931)
  Delete stale references to System.IO.FileSystem.Primitives (dotnet#55041)
  Add binplaced analyzers to ASP.NET transport package (dotnet#55042)
  [mono] Enable many HardwareIntrinsic tests on wasm
  Delete `compQuirkForPPP`. (dotnet#55050)
  [Mono] Condition Workload AOT import to be osx only (dotnet#55040)
  package native quic library (dotnet#54992)
  Make GlobalizationMode code consistent (dotnet#55039)
  Expand PerfMap format to support metadata for symbol indexation (dotnet#53792)
  [debugger]Componentize debugger (dotnet#54887)
  [Mono] Include loaded interpreter methods as EventPipe session rundown method events. (dotnet#54953)
  Delete stale ActiveIssue from HttpHeadersTest (dotnet#55027)
  Poison address-exposed user variables in debug (dotnet#54685)
  Recategorize emsdk dependency (dotnet#55028)
  Remove the the wasm AOT specific test project exclusions (dotnet#54988)
  ...
lateralusX added a commit to lateralusX/runtime that referenced this pull request Jul 4, 2021
dotnet#54887 added MONO_COMPONENT_API
to mono_gc_memmove_atomic.h, but that function is declared in two
different headers, memfuncs.h and gc-internal-agnostic.h and the
second one didn't use MONO_COMPONENT_API causing inconsistent linking
errors on Windows when building dynamic components.
lateralusX added a commit that referenced this pull request Jul 6, 2021
…#55142)

#54887 added MONO_COMPONENT_API
to mono_gc_memmove_atomic.h, but that function is declared in two
different headers, memfuncs.h and gc-internal-agnostic.h and the
second one didn't use MONO_COMPONENT_API causing inconsistent linking
errors on Windows when building dynamic components.
@ghost ghost locked as resolved and limited conversation to collaborators Aug 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants