codingadventures / linqbridgevs Goto Github PK
View Code? Open in Web Editor NEWDumps the content of variables during debugging in Visual Studio to LINQPad
License: MIT License
Dumps the content of variables during debugging in Visual Studio to LINQPad
License: MIT License
As of now an object is serialized using a binary formatter or Json.NET. There is no option to choose the serialization type. Add it to visual studio option and implement it into Grapple
Hello,
I have an object with a property of type XElement. When I inspect the object I can see all properties in LinqPAD but the only one of type XElement is always Null.
Regards,
Filippo.
bridged Dictionary<int,ClassX> doesnt load internal IEnumerable property in ClassX. It fill it with null.
public class ClassX
{
public IEnumerable ys;
}
The type initializer for 'BridgeVs.Shared.Common.CommonFolderPaths' threw an exception.
at BridgeVs.VsPackage.Helper.Configuration.PackageConfigurator.IsLINQPadInstalled(String vsVersion)
at BridgeVs.VsPackage.Helper.Configuration.PackageConfigurator.Install(String vsVersion, String vsEdition)
at BridgeVs.VsPackage.Package.BridgeVsPackage.Initialize()
Value cannot be null.
Parameter name: path1 at System.IO.Path.Combine(String path1, String path2)
at BridgeVs.Shared.Common.CommonFolderPaths..cctor()
Why does it appear that upon installation via the vsix all my existing .dlls in the Visualizers folder are now deleted?
For version 10 and 11 add the library by copying them within the solution. Chances are if the user hasn't got visual studio 10 installed it won't compile
visualizing the mem variable in Using mem As New System.IO.MemoryStream(My.Resources.Bill_of_Lading)
I get this linqpad script.
void Main()
{
Truck truck = new Truck("LINQBridgeVsTruck");
truck.WaitDelivery("MemoryStream").Wait();
var @object = truck.UnLoadCargo<IO.MemoryStream>();
@object.Dump("IO.MemoryStream", 2);
}
It should be
void Main()
{
Truck truck = new Truck("LINQBridgeVsTruck");
truck.WaitDelivery("MemoryStream").Wait();
var @object = truck.UnLoadCargo<System.IO.MemoryStream>();
@object.Dump("IO.MemoryStream", 2);
}
I installed the 2017 version. I enabled the bridge, set a breakpoint after an instance of my class was initialized, run it. I don't see a magnifying glass on the instance. I also created a string array and no magnifying.
It's not clear how the whole process works. What do in the LinqPad? Is there something visible in there? Do we start using the same variable names as in the VS code?
Appreciate a quick YouTube video where you are showing how it works.
I installed and enabled LINQbridge on VS2013 Professional with Windows 10 Professional as SO. I launched VS2013 as administrator, when I click on magnifying glass I receive the error below. LINQPad4 is installed in the proper folder and I gave rights to C:\Users\myuser\Documents\Visual Studio 2013 to user Everyone with full control. My project is a WPF one and I was debugging a dll referenced by WPF project.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Exception: Function evaluation was aborted.
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.WriteDataToStreamAndThrowOnException(Byte[] data, Stream dataStream)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.WriteDataToStreamAndThrowOnException(Byte[] data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider.GetData()
at LINQBridgeVs.DynamicVisualizer.V12.DynamicDebuggerVisualizerV12.Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.DelegatedHost.CreateViewer(IntPtr hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
I hope to see VS 2015 & VS 2017 support
Adds support for .NET Core. The new version of Mono.Cecil 0.10 is needed along with some tweaks to BridgeVs.SInject
IndexOutOfRangeException: Index was outside the bounds of the array.
Module "BridgeVs.Grapple.Grapple.BinaryGrapple", line 0, col 0, in Grab
System.Tuple`2[System.Type,System.Byte[]] GrabT
Module "BridgeVs.Grapple.Truck", line 16, col 0, in LoadCargo
Void LoadCargoT
Module "BridgeVs.DynamicVisualizers.DynamicObjectSource", line 355, col 0, in BroadCastData
Void BroadCastData(System.Object, System.IO.Stream)
LinqPad was installed in the default location (C:\Program Files (x86)\LINQPad4) and after installing LinqBridge the menu options to Enable/Disable remain greyed out.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.RemoteObjectSourceException: Could not load file or assembly 'file:///C:\Users\jxb15\Documents\Visual Studio 2013\Visualizers\DotNetDynamicVisualizerType.V12.0.dll' or one of its dependencies. Access is denied. ---> System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Users\jxb15\Documents\Visual Studio 2013\Visualizers\DotNetDynamicVisualizerType.V12.0.dll' or one of its dependencies. Access is denied.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ClassAndAssemblySpec.CreateAssembly(Dictionary2 dictionary, AbstractAssemblyResolver resolver) at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ClassAndAssemblySpec.CreateInstanceOrType(Dictionary
2 dictionary, AbstractAssemblyResolver resolver, InstanceOrType instOrType)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ClassAndAssemblySpec.CreateInstance(Dictionary`2 dictionary, AbstractAssemblyResolver resolver)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.DebugeeHost.CreateSourceInternal(String assemblyNameOrLoc, Byte[] assemblyBytes, String className, Boolean isLoc)
--- End of inner exception stack trace ---
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.DelegatedHost.CreateViewer(IntPtr hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR
Microsoft.VisualStudio.Platform.AppDomainManager
Assembly Version: 12.0.0.0
Win32 Version: 12.0.21005.1
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
Microsoft.VisualStudio.DebuggerVisualizers
Assembly Version: 12.0.0.0
Win32 Version: 12.0.21005.1
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
I uninstalled this extension, but VS keeps showing linqbridge visualizer...
What is even more annoying, it has removed or replaced all standard visualizers, even string variables are shown in linqpad, there is no option anymore to show them in a plain textbox...
If I reinstall it, when choosing enable LinqBridge or disable LinqBridge , I get following error
I'm having the impression that it messed up my vs2013 installation
This is one of many assembly resolution exception errors. A warning message should be showed in case LINQBridgeVs is used with netstandard, asp.net core, .net core and other unsupported projects
Sentry Issue: LINQBRIDGEVS-J
AssemblyResolutionException: Failed to resolve assembly: 'netstandard'
Module "Mono.Cecil.BaseAssemblyResolver", line 116, in Resolve
Mono.Cecil.AssemblyDefinition Resolve(Mono.Cecil.AssemblyNameReference, Mono.Cecil.ReaderParameters)
Module "Mono.Cecil.DefaultAssemblyResolver", line 29, in Resolve
Mono.Cecil.AssemblyDefinition Resolve(Mono.Cecil.AssemblyNameReference)
Module "Mono.Cecil.MetadataResolver", line 56, in Resolve
Mono.Cecil.TypeDefinition Resolve(Mono.Cecil.TypeReference)
Module "Mono.Cecil.TypeReference", line 0, in Resolve
Mono.Cecil.TypeDefinition Resolve()
Module "Mono.Cecil.Mixin", line 0, in CheckedResolve
Mono.Cecil.TypeDefinition CheckedResolve(Mono.Cecil.TypeReference)
...
(22 additional frame(s) were not displayed)
Error Executing MSBuild Task SInjectionBuildTask
When I have a custom Plugins location defined in LINQPad, I have to manually copy the libraries from the Documents\LINQPad Plugins folder to the custom location.
This is probably obvious but may be worth adding to the known issues list in case it catches anyone else out, as it did me for a minute or two.
The magnifying glass will only be visible for public classes.
I keep seeing this in the log file:
2018-07-10T14:50:58.5818167+01:00 Assembly being Injected C:\Development\CMSi\CMSi-Full\ams\AMS-MDI\bin\Debug\CMSI-MDI.exe
2018-07-10T14:50:59.0958376+01:00 Error Executing MSBuild Task SInjectionBuildTask -
SymbolsNotMatchingException: Symbols were found but are not matching the assembly
at Mono.Cecil.ModuleDefinition.ReadSymbols(ISymbolReader reader, Boolean throwIfSymbolsAreNotMaching)
at Mono.Cecil.ModuleReader.ReadSymbols(ModuleDefinition module, ReaderParameters parameters)
at Mono.Cecil.ModuleReader.CreateModule(Image image, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at BridgeVs.Build.SInjection..ctor(String assemblyLocation, String snkCertificatePath, PatchMode mode)
at BridgeVs.Build.Tasks.SInjectionBuildTask.Execute()
No visualizers are output
Sentry Issue: LINQBRIDGEVS-B
UnauthorizedAccessException: Access to the path 'C:\ProgramData\Grapple\LINQBridgeVsTruck\SqlException' is denied.
Module "BridgeVs.Grapple.Truck", line 184, in DeliverTo
Boolean DeliverTo(System.String)
Module "BridgeVs.DynamicVisualizers.DynamicObjectSource", line 362, in BroadCastData
Void BroadCastData(System.Object, System.IO.Stream)
Error broadcasting the data to linqpad
In trying to display a list with items made from an anonymous type the code in LinqPAD could not be compiled and complained about a possible missing reference.
Part of the generated code:
truck.UnLoadCargo<List<AnonymousType<Guid, String ......
LINQPadInstallationPath and LINQPadVersion are two registry values that store the installation information of linqpad.
Currently they represent global settings for the extensions which means having the extension installed on multiple visual studio versions on the same machine will share the same setting.
It would be better to move those two values from HKEY_CURRENT_USER\Software\LINQBridgeVs to HKEY_CURRENT_USER\Software\LINQBridgeVs{VsVersion} in order to make the linqpad installation configuration local to the visual studio version
It would be good to make the current package an asynchronous one. Detailed documentation here: https://msdn.microsoft.com/en-us/library/mt709265.aspx
I have rebuilt my solution several times, but the visualizer assemblies are not being generated. Are there any other VS2017 extensions that may be blocking the operation?
Currently ILMerge is used to combine all the dlls generated at compile time for the custom debugger visualizer. This process is very slow, and should probably be avoided. Remove ILMerge from the build process.
When will the 2017 version show up in the marketplace? I was notified a week ago that it was submitted.
Is there a way we can build it ourselves? I built the solution but there was no vsix file produced.
correct the full name of the library on the file name
remove mscorlib reference
I see you create DotNetDynamicVisualizerType.V12.0.dll for the BCL but what about other referenced assemblies?
I have been using linqbridgevs for sometime now and have grown dependent on it, so if you can help....
I just got a new machine, installed all appropriate software, and everything was working fine including linqbridge.
Under direction I remapped my MyDocuments folder to one-drive enterprise and since then when I attempt to use linqbridge I get nothing. I click on the little magnifying glass, Linqpad starts and then nothing but a blank page.
I have remapped my documents folder back to its original location and reinstalled everything except Visual Studio but still no results. If I have to I will reinstall Visual Studio 2013 but would rather not as I don't need a half day down time.
I have helped many coworkers get this tool installed and working while mine remains broken (I know I must be a saint).
I run as admin and have full control over my visualizer directory. Google tells me that I am the only one in the world with this problem and am quite frustrated.
-TIA
Create a wrapper around SharpRaven client. Integrate it so that exceptions are logged and sent to Sentry
LinqBridge throws the following exception on clicking the magnifying glass then fails to launch viewer
this does not occur every time but very often it does
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Exception: Function evaluation timed out.
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.WriteDataToStreamAndThrowOnException(Byte[] data, Stream dataStream)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.WriteDataToStreamAndThrowOnException(Byte[] data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider.GetData()
at LINQBridgeVs.DynamicVisualizer.V11.DynamicDebuggerVisualizerV11.Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.DelegatedHost.CreateViewer(IntPtr hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18449 built by: FX451RTMGDR
Microsoft.VisualStudio.Platform.AppDomainManager
Assembly Version: 11.0.0.0
Win32 Version: 11.0.50727.1
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Data.SqlXml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
Microsoft.VisualStudio.DebuggerVisualizers
Assembly Version: 11.0.0.0
Win32 Version: 11.0.50727.1
DotNetDynamicVisualizerType.V11.0
Assembly Version: 1.0.5235.17029
Win32 Version: 1.0.0.0
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
If you install LINQPad on another path that the default one, LINQBridgeVs cannot find it.
i have it installed, i can enable it for my project, and verify thats the case by what is allowed/greyed out in the linqbridge menu, compile, breakpoint, but i can never see this magnifying glass. I'm not sure whether its a conflict with other tools i have like reshaper. I'm on vs.net 2013. Is there a way to do invoke via a menu, right click, or hot key?
I am using Visual Studio 2017 15.7 and 1.4.5 of the extension. When I select "Bridge Solution', I don't get the confirmation message like the video is showing. No magnifying glass is showing and the visualizer assemblies don't get created after I rebuild the solution.
It would be nice to implement a better logging system like NLog than BridgeVs.Logging, which is the current implementation. This logger is used for debug builds only, but it would be ideal to be able to enable/disable logging with the live extension.
I'm confused... the extension does nothing because both the Enable and Disable options are disabled. LINQPad is installed to its default path, it is the Pro version, and I'm using VS2013 SP4. I've tried and get the same results on 2 different computers however both are Win7 x64 if that makes a difference. What do I need to do or look at to get this working? Thanks!
I have always used the portable version of LINQPad rather than the installed version. I seems that I am forced to use the installed version for LINQBridgeVs as each time I open VS I'm told to install LINQPad. Any chance you can make it work with portable LINQPad?
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.