-
Notifications
You must be signed in to change notification settings - Fork 564
Native profiling and debugging #7942
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
Draft
grendello
wants to merge
58
commits into
dotnet:main
Choose a base branch
from
grendello:native-profiling-and-debugging
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Prepare for profiling with NDK's `simpleperf`:
* Build shared libraries with full debug info, using DWARF5 (for
better compression) and debug info optimized for lldb
* Adapt `simpleperf` C++ API to Xamarin.Android's needs and style (the
original source uses streams which we can't support and also...
doesn't build out of the box)
* main: [Tests] Replace azurestorage with a github repo. (dotnet#7524)
* main: [docs] notes on binding `gradle-wrapper.jar` (dotnet#7529) [NuGet] Add back the `dotnet7` feed (dotnet#7534) [xaprepare] use 8.0.100 version band for Mono workloads (dotnet#7530)
* main: [build] Make external build targets more consistent (dotnet#7536) [ci] Rename the yaml-templates resource Bump to xamarin/Java.Interop/main@c6c487b (dotnet#7543) [vswhere] Update MSBuildLocator to support -prerelease (dotnet#7508) [build-tools] Update UpdateApkSizeReference scripts to use net7 path (dotnet#7512)
* main: [build] push nightly builds to dotnet8 feed (dotnet#7528) [Mono.Android] Generate API docs for API-33 (dotnet#7472) [README] Add links to Xamarin.Android 13.1 release installers (dotnet#7547)
* main: [ci] Enable CodeQL on nightly build (dotnet#7522) Bump to xamarin/Java.Interop/main@984711a (dotnet#7545) [Xamarin.Android.Build.Tasks] Timing.xml & `android:exported="true"` (dotnet#7551) [Xamarin.Android.Build.Tasks] run a Clean if the project path changes. (dotnet#7476)
Unfortunately, neither connecting to the remote server nor interacting
with local lldb is possible. Even the native `ndk-gdb` script won't
work with the modern Android apps, and faithfully reproducing what it
does also led to:
(lldb) gdb-remote 5039
error: Failed to connect port
Next step: examine Android Studio sources and do what they do, since
that works fine.
Luckily, most of the "framework" code written in the previous commit can
be reused.
The goal now is to generate a shell script (both on Unix and Windows) to
actually run lldb, and use msbuild task(s) to prepare the application,
pull binaries, make sure they have symbols etc - most of this code is
already done and won't have to change much.
* main: Bump to xamarin/android-api-docs@814988c (dotnet#7557) [tests] Switch to `httpbin.org` (dotnet#7556)
* main: [ci] Update PoliCheck exclusions (dotnet#7561) Bump to xamarin/xamarin-android-tools/main@59cac90 (dotnet#7546) Bump to dotnet/installer@355d664 8.0.100-alpha.1.22562.2 (dotnet#7505)
But it finally works!
* main: Bump to xamarin/xamarin-android-tools/main@fa3711b (dotnet#7501)
* main: Bump to mono/mono@6dd9def5 (dotnet#7574) Bump to dotnet/installer@296eeb3 8.0.100-alpha.1.22570.9 (dotnet#7571) [ci] Add API-33 to the nightly build (dotnet#7552) [docs] Fix typo in XA0134 (dotnet#7569) [docs] how to `dotnet trace` our build (dotnet#7573) [Xamarin.Android.Build.Tasks] Useful errors when using binutils (dotnet#7566) Bump SQLite to 3.40.0 (dotnet#7564)
* main: [build] Pass NuGet.config when restoring (dotnet#7578)
Whole day spent researching and still not done... :)
* main: LEGO: Merge pull request 7582
* main: LEGO: Merge pull request 7584
* main: [tests] Add nightly localization unit tests (dotnet#6693) [Xamarin.Android.Build.Tasks] Fix XA4215 if AssemblyName is the same (dotnet#7477) Bump to dotnet/installer@24f5950 8.0.100-alpha.1.22577.1 (dotnet#7585) Bump manifest-merger from 30.3.0 to 30.3.1 in /src/manifestmerger (dotnet#7467)
* main: Localized file check-in by OneLocBuild Task: Build definition ID 11410: Build ID 7029692 (dotnet#7575) [monodroid] Attach current thread to MonoVM when registering a type (dotnet#7560) [build] `make all` doesn't need `-m:1` (dotnet#7589) Update CODEOWNERS (dotnet#7593) [build] Add support for Visual Studio on win-arm64 (dotnet#7471) Fix reading assembly store hashes in AssemblyStoreReader
* main: Bump external/Java.Interop from `984711a` to `3a9f770` (dotnet#7592) [Mono.Android] NoWarn CA1416, CA1422 code analyzer warnings (dotnet#7591)
* main: [ci] Skip classic tests on release branch PRs (dotnet#7598)
New direction - going to implement everything as a dotnet tool, with support for debugging an .apk directly (as well as for building the apk, if necessary and possible)
* main: Bump to xamarin/android-api-docs@d7bb60c (dotnet#7605) Bump to xamarin/xamarin-android-tools/main@9f02d77 (dotnet#7594)
* main: Bump to Android 32.0.485 packs for .NET 6 (dotnet#7602) Bump to xamarin/android-api-docs@2d3e40a (dotnet#7608)
* main: Bump to dotnet/installer@243326d 8.0.100-alpha.1.22602.5 (dotnet#7613)
Implemented enough of it for our needs.
* main: [Xamarin.Android.Build.Tasks] use %(TrimmerRootAssembly.RootMode) All (dotnet#7651) Bump to dotnet/installer@47a747f 8.0.100-alpha.1.22616.7 (dotnet#7647) Bump to dotnet/installer@167a4ed 8.0.100-alpha.1.22611.1 (dotnet#7630) Bump to xamarin/Java.Interop/main@f8d77fa (dotnet#7638) [ci] Fix Designer test paths (dotnet#7635) [Xamarin.Android.Build.Tasks] perf improvements for LlvmIrGenerator (dotnet#7626) [Xamarin.Android.Build.Tasks] AutoImport `*.webp` files (dotnet#7601) Localized file check-in by OneLocBuild Task (dotnet#7632) Bump $(ProductVersion) to 13.2.99 Bump to xamarin/monodroid@c0c933b7 (dotnet#7633) [Xamarin.Android.Build.Tasks] Fix aapt_rules.txt corruption (dotnet#7587) [Xamarin.Android.Build.Tasks] Add XA1031 error (dotnet#7448) Bump to xamarin/Java.Interop/main@149d70f (dotnet#7625) [CODEOWNERS] More updates to CODEOWNERS (dotnet#7628) [Xamarin.Android.Build.Tasks] avoid `File.Exists()` check (dotnet#7621)
* main: [build] skip provisioning of Xamarin.Android on .NET lanes (dotnet#7646) Bump to dotnet/installer@1c4be07 8.0.100-alpha.1.22622.3 (dotnet#7657)
* main: [Xamarin.Android.Build.Tasks] skip XA1034 logic in some cases (dotnet#7680) [ci] Move OneLocBuild task to scheduled pipeline (dotnet#7679) [Mono.Android] ServerCertificateValidationCallback() and redirects (dotnet#7662) Bump to xamarin/Java.Interop/main@cf80deb7 (dotnet#7664) Localized file check-in by OneLocBuild (dotnet#7668) [api-merge] Correctly compute //method/@deprecated-since (dotnet#7645) [Xamarin.Android.Build.Tasks] _Microsoft.Android.Resource.Designer (dotnet#6427) [Xamarin.Android.Build.Tasks] downgrade d8/r8 `warning` messages to `info` (dotnet#7643) [Xamarin.Android.Build.Tasks] fix cases of missing `@(Reference)` (dotnet#7642) [Xamarin.Android.Build.Tasks] delay ToJniName calls in ManifestDocument (dotnet#7653) [Xamarin.Android.Build.Tasks] fast path for `<CheckClientHandlerType/>` (dotnet#7652)
* main: [Mono.Android] Android.Telecom.InCallService.SetAudioRoute() + enum (dotnet#7711) [Mono.Android] Fix some incorrect enums. (dotnet#7670) [Xamarin.Android.Build.Tasks] _Microsoft.Android.Resource.Designer namespace (dotnet#7681) LEGO: Merge pull request 7713 [Xamarin.Android.Build.Tasks] lazily populate Resource lookup (dotnet#7686)
BackgroundProcessManager will probably go away, too clunky. ProcessRunner2 should provide a much better way to do it.
AdbRunner implemented with the new tool runner
* main: [marshal methods] Properly support arrays of arrays (dotnet#7707) Bump to dotnet/installer@9962c6a 8.0.100-alpha.1.23063.11 (dotnet#7677) [Actions] Add action to bump the hash used for the unified pipeline (dotnet#7712) Bump to xamarin/xamarin-android-tools/main@099fd95 (dotnet#7709) [ci] Move build stages into yaml templates (dotnet#7553) [Xamarin.Android.Build.Tasks] fix NRE in `<GenerateResourceCaseMap/>` (dotnet#7716) [ci] Pass token when building Designer tests (dotnet#7715)
* main: Revert "[Xamarin.Android.Build.Tasks] fix cases of missing `@(Reference)` (dotnet#7642)" (dotnet#7726)
* main: [Xamarin.Android.Build.Tasks] Fix issue where app will not install (dotnet#7719) Bump to dotnet/installer@779a644 8.0.100-alpha.1.23070.23 (dotnet#7728) LEGO: Merge pull request 7751 [Mono.Android] Wrap connection exceptions in HttpRequestException (dotnet#7661) [Mono.Android] Fix View.SystemUiVisibility enumification (dotnet#7730) Bump r8 from 3.3.75 to 4.0.48 (dotnet#7700) [monodroid] Prevent overlapped decompression of embedded assemblies (dotnet#7732) [xaprepare] Support arm64 emulator components (dotnet#7743) Bump SQLite to 3.40.1 (dotnet#7733) Bump to xamarin/xamarin-android-binutils/L_15.0.7-5.0.3@6721af4b (dotnet#7742) [monodroid] Replace `exit()` with `abort()` in native code (dotnet#7734) Bump to xamarin/Java.Interop/main@8a1ae57 (dotnet#7738) [build] bump `$(AndroidNet7Version)` (dotnet#7737) Bump to xamarin/Java.Interop/main@1366d99 (dotnet#7718) [Xamarin.Android.Build.Tasks] fix AndroidGenerateResourceDesigner (dotnet#7721) Bump to xamarin/monodroid@50faac94 (dotnet#7725)
* main: (94 commits) [ci] Remove remaining Classic test jobs. (dotnet#7924) Add Nightly Tests for Humanizer [readme] Add aka.ms links for d17.5. (dotnet#7935) [tests] Remove `net472` multitargeting (dotnet#7932) [monodroid] Fix `ld` build error on Nightly Builds. (dotnet#7925) Bump to xamarin/Java.Interop/main@0355acf (dotnet#7931) [tests] Use msftconnecttest.com in QuoteInvalidQuoteUrlsShouldWork (dotnet#7919) [ci] Don't set demands for megapipeline (dotnet#7929) [Mono.Android] Bind API-UpsideDownCake Developer Preview 1 (dotnet#7796) Bump to dotnet/installer@d109cba3ff 8.0.100-preview.4.23176.5 (dotnet#7921) [Xamarin.Android.Build.Tasks] Fix Android Version Code for Release builds (dotnet#7795) Bump to dotnet/installer@27d6769dfb 8.0.100-preview.4.23172.16 (dotnet#7910) [Xamarin.Android.Build.Tasks] Fix native code generation when marshal methods are disabled (dotnet#7899) [ci] Optimize 'APK's .NET' test job overhead. (dotnet#7904) [Mono.Android] delay JNINativeWrapper.get_runtime_types() (dotnet#7913) Bump external/Java.Interop from `73ebad2` to `53bfb4a` (dotnet#7914) [build] remove .NET 6 support (dotnet#7900) [profiled-aot] update `dotnet.aotprofile` for .NET 8 (dotnet#7908) [tests] Add backup ssl sites in case of 429 response. (dotnet#7909) $(AndroidPackVersionSuffix)=preview.4; net8 is 34.0.0-preview.4 (dotnet#7912) ...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.