viacheslav-lozinskyi / metaoutput Goto Github PK
View Code? Open in Web Editor NEWWork with output data / log files never been so simple!
Work with output data / log files never been so simple!
If you try to debug a Xamarin.Forms project deployed to an Android device or emulator the Xaml Hot Reload will fail to start with the following error. I initially commented on the bug reported here https://developercommunity.visualstudio.com/t/xaml-hot-reload-encountered-a-problem-and-failed-t-14/1503640 but I was able to solve the issue by disabling the MetaOutput extension. I'm not sure there is a problem with the extension it could very well be an issue with visual studio.
[4:41:33 PM] XAML Hot Reload initializing...
[4:41:35 PM] Caught exception in AgentStatusChangedHandler at 313: System.NullReferenceException: Failed to obtain Mono Debugger Evaluation Context.
at Xamarin.HotReload.DebuggerExtensions.GetEvaluationContext(SoftDebuggerSession debugger) in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\DebuggerExtensions.cs:line 33
at Xamarin.HotReload.HotReloadBridge.<InitializeAgent>d__47.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 123
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Xamarin.HotReload.HotReloadBridge.<<Debugger_TargetHitBreakpoint>b__50_0>d.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 262
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
at Xamarin.HotReload.DebuggerExtensions.GetEvaluationContext(SoftDebuggerSession debugger) in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\DebuggerExtensions.cs:line 33
at Xamarin.HotReload.HotReloadBridge.<InitializeAgent>d__47.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 123
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Xamarin.HotReload.HotReloadBridge.<<Debugger_TargetHitBreakpoint>b__50_0>d.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 262
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
[4:41:35 PM] XAML Hot Reload encountered a problem and failed to start. Use Help -> Report a Problem if the issues persists.
[4:41:35 PM] Stopping All Hot Reload sessions due to Failed ...
[4:41:35 PM] (TestApp3.Android) Stopping a Hot Reload session due to Failed ...
[4:41:35 PM] Stopped Hot Reload session.
[4:41:35 PM] (TestApp3.Android) Caught exception in Debugger_TargetHitBreakpoint at 266: System.NullReferenceException: Failed to obtain Mono Debugger Evaluation Context.
at Xamarin.HotReload.DebuggerExtensions.GetEvaluationContext(SoftDebuggerSession debugger) in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\DebuggerExtensions.cs:line 33
at Xamarin.HotReload.HotReloadBridge.<InitializeAgent>d__47.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 123
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Xamarin.HotReload.HotReloadBridge.<<Debugger_TargetHitBreakpoint>b__50_0>d.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 262
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
at Xamarin.HotReload.DebuggerExtensions.GetEvaluationContext(SoftDebuggerSession debugger) in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\DebuggerExtensions.cs:line 33
at Xamarin.HotReload.HotReloadBridge.<InitializeAgent>d__47.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 123
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Xamarin.HotReload.HotReloadBridge.<<Debugger_TargetHitBreakpoint>b__50_0>d.MoveNext() in D:\a\1\s\HotReload\Source\Xamarin.HotReload.Bridge\HotReloadBridge.cs:line 262
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
Imagine I am debugging and I have a NewtonSoft JObject variable. Those can be so hard to view in the 'Locals' or 'Variables' debug menu. Can I view this JObject using MetaOutput? It would be so great!
For instance, when viewing a JObject in Debug, it's really hard to see the properties because they're all nested in various layers of .Jobject and .JToken.
Imagine a simple JSON payload like this one, for an ARM Deployment.
{
"location": "eastus2",
"tags": {
"key9183": "aa"
},
"properties": {
"publisher": "Microsoft.Azure.Security",
"type": "IaaSAntimalware",
"typeHandlerVersion": "1.3",
"autoUpgradeMinorVersion": true,
"settings": {
"RealTimeProtectionEnabled": true,
"ScheduledScanSettings": {
"IsEnabled": true,
"ScanType": "Quick",
"Day": 7,
"Time": 120
},
"Exclusions": {
"Extensions": "",
"Paths": "",
"Processes": ""
}
}
}
}
When this is loaded as a JObject, it becomes a nightmare to read in the debug context.
var o1 = JObject.Parse(File.ReadAllText(@"c:/Temp/testfile.json"));
It gets squished into one line, and there is no 'Previewer' to view it as JSON.
If I expand the properties to look at it, the JObject becomes a very deeply nested object in the Debug window.
It would be excellent to be able to view a JObject or JToken right in MetaOutput and see it as JSON.
Hi, I have an improvement idea.
MetaOutput should provide us a setting to define which mode should be the default and select it automatically when build/debugging/etc. starts and ends.
The current behavior is to reset the mode to "Content highlight mode". For example if I prefer "Filter mode" I must switch to it manually every time. In addition, switching modes clears the filter expression end I have to set it back again manually.
My suggestion is to add sub-menu "Default mode" to "Settings" with the following elements:
=== OR ===
A simpler approach could be memorizing the last mode and don't switch over to another automatically.
Also the filter expression (the text in the input box next to the mode switch buttons) should be retained.
Hello, would like to ask if with your extension is possible to dump the output window build verbose.
I'm trying to find a way to detect when a build fails and then perform an action, see:
https://stackoverflow.com/questions/74022549/run-a-visual-studio-event-on-build-failure
Is it possible to increase MetaOutput font sizes?
Thanks for this great extension.
I use MetaOutput with VS2022.
I'd like to change the background color of MetaOutput window (dark red color in the screenshot below) , but I'm not sure what element of color should be changed.
Can I change the color by using Environment - Fonts and Colors configuration in VS2022 Options ?
A common console/terminal feature is being able to using the [up-arrow] and [down-arrow] keys to step through previously typed text. The proposed implementation or other method (drop-down menu e.g) for selecting previously typed text would greatly improve the productivity.
Thank you for creating such a great software.
I've stumble on this extension yesterday and it seems great.
My application crash at random location if the extension is enabled. As soon as I disable the extension I can launch/debug my application again.
At first I though it was some new code I wrote, but after commenting/reverting the application would still crash.
Any idea?
Hello. When I debug a DearImGUI application and get a message from the DirectX subsystem then the MetaOutput gets stuck and the endless following messages appear:
D3D12 : ID3D12CommandList::DrawIndexedInstanced: Viewport: 0 is non-empty while the corresponding scissor rectangle is empty. Nothing will be written to the render target when this viewport is selected. In D3D12, scissor testing is always enabled. [ EXECUTION WARNING #695: DRAW_EMPTY_SCISSOR_RECTANGLE] @@@source DEBUG @@@type WARNING
The time in the left corner of the Debug.Begin upper line ticks, “Program started” slider in the right corner runs but the program has been already stopped indeed and the standard VS Output window reads “The program XXX hax exited with code 0 (0x0.”
Closing or clearing MetaOutput window does not help and I need to restart the Visual Studio to continue to work. Starting a next debugging session does not help.
I do admit it may be a Visual Studio problem but I cannot tell for sure – I am DearImGUI and DirectX newbie.
P.S. The same messages appear in the standard Output window but they stop to appear when the debuggee is stopped.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.