0
Under review

Show all instances not showing

Markus 9 months ago • updated by Andreas Schmitt 2 months ago 4

When I select the quick action "Show All Instances" nothing happens. No window opens.

When I open the window in the OzCode menu and type in a correct class name, nothing happens.

When I type in an incorrect class name I get an error message but with a correct class name there is no reaction.


Here a small test program:


namespace ConsoleApp5
{
    public class Program
    {
        static void Main(string[] args)
        {
            var cars = new List<Car>();

            cars.Add(new Car());
            cars.Add(new Car());
            cars.Add(new Car());
            cars.Add(new Car());
            cars.Add(new Car());

            Console.WriteLine(cars.Count);
        }
    }

    public class Car
    {
        public string Name { get; set; }
        public string Color { get; set; }
    }
}


I set the breakpoint on Console.WriteLine and select the quick action on the class Car. Nothing happens.


I am using VS 2017 Pro with Resharper and have OzCode 3.1.0.3913 installed.


How can I get this to work?




Hi Markus,


We're sorry to hear that you've ran into an issue with OzCode.

Can you please send us your log files which are located at %Temp%\OzCode\Logs to support@oz-code.com? That would help us figure out more about the issue.

Hi OzCode-Team, 

while evaluating the latest Version of OzCode before purchase, I run into this error. I use VS 2017 Enterprise with ReSharper (but disabled) and OzCode 3.1.0.3913. 

When I try to look for all Instances, the log says: 

2018-10-17 07:11:44,187 [1] INFO  BugAidLogger - Spent 00:00:00.03 doing Evaluating typeof(OracleConnection)-+-+-
2018-10-17 07:11:44,198 [1] INFO  BugAidLogger - Spent 00:00:00.01 doing Evaluating global::DebuggerShim.TypeVisualizer.TakeGCSnapshot()-+-+-
2018-10-17 07:11:44,204 [1] INFO  BugAidLogger - Debugger host path is: c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk\DebuggerHost\x64\DebuggerHost.exe-+-+-
2018-10-17 07:11:46,078 [1] INFO  BugAidLogger - Spent 00:00:00.02 doing Evaluating typeof(OracleConnection)-+-+-
2018-10-17 07:11:46,089 [1] INFO  BugAidLogger - Spent 00:00:00.01 doing Evaluating global::DebuggerShim.TypeVisualizer.TakeGCSnapshot()-+-+-
2018-10-17 07:11:46,095 [1] INFO  BugAidLogger - Debugger host path is: c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk\DebuggerHost\x64\DebuggerHost.exe-+-+-
2018-10-17 07:11:46,097 [1] ERROR BugAidLogger - Exception occurred: System.ComponentModel.Win32Exception (0x80004005): Das System kann die angegebene Datei nicht finden
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.DebuggerHostLauncher.Launch(Int32 pid, String winDbgTypeName)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.LaunchDebugger(String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.WriteObjectAddressesToFile(String expressionText, String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.GetAllInstancesOf(String userInputTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.EvaluateExpression(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.QuickWatchViewModelBase.Reevaluate(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.<getshowinstancescommand>b__12_0(Object o)
   at DebuggerShared.Helpers.RelayCommand.Execute(Object parameter)-+-+-
System.ComponentModel.Win32Exception (0x80004005): Das System kann die angegebene Datei nicht finden
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.DebuggerHostLauncher.Launch(Int32 pid, String winDbgTypeName)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.LaunchDebugger(String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.WriteObjectAddressesToFile(String expressionText, String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.GetAllInstancesOf(String userInputTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.EvaluateExpression(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.QuickWatchViewModelBase.Reevaluate(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.<getshowinstancescommand>b__12_0(Object o)
   at DebuggerShared.Helpers.RelayCommand.Execute(Object parameter)</getshowinstancescommand></getshowinstancescommand>


So I manually create a Folder DebuggerHost/x64 an put in the whole content of the Folder 'lynngecy.qmk' including DebuggerHost.exe

Then I try again an log says: 

2018-10-17 07:16:25,778 [1] INFO  BugAidLogger - User performed action: FeatureShowAllInstances-+-+-
2018-10-17 07:16:25,854 [1] INFO  BugAidLogger - Loaded module - Path: c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk\DebuggerShim.CLR4.dll, IsUserCode: False, Message: 'MTS.cm.exe' (CLR v4.0.30319: MTS.cm.exe): Loaded 'c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk\DebuggerShim.CLR4.dll'. Cannot find or open the PDB file.-+-+-
2018-10-17 07:16:25,865 [1] INFO  BugAidLogger - Spent 00:00:00.08 doing Evaluating global::System.Reflection.Assembly.LoadFrom(global::System.IO.Path.Combine(@"c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk", global::System.String.Format("DebuggerShim{0}.dll", global::System.Environment.Version.Major == 4 ? ".CLR4" : null)));-+-+-
2018-10-17 07:16:25,945 [1] INFO  BugAidLogger - Spent 00:00:00.07 doing Evaluating typeof(Devart.Data.Oracle.OracleConnection)-+-+-
2018-10-17 07:16:25,958 [1] INFO  BugAidLogger - Spent 00:00:00.01 doing Evaluating global::DebuggerShim.TypeVisualizer.TakeGCSnapshot()-+-+-
2018-10-17 07:16:25,963 [1] INFO  BugAidLogger - Debugger host path is: c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\lynngecy.qmk\DebuggerHost\x64\DebuggerHost.exe-+-+-
2018-10-17 07:16:26,352 [1] ERROR BugAidLogger - Exception occurred: DebuggerShared.Helpers.Exceptions.OzCodeException: Command.Execute failed ---> System.InvalidOperationException: An error occurred while trying to visualize instances.
   at DebuggerShared.Visualizer.DumpHeapVisualizer.DebuggerHostLauncher.Launch(Int32 pid, String winDbgTypeName)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.LaunchDebugger(String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.WriteObjectAddressesToFile(String expressionText, String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.GetAllInstancesOf(String userInputTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.EvaluateExpression(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.QuickWatchViewModelBase.Reevaluate(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel..ctor(ShowAllInstancesService engine, String typeName, String propertyToEmphasize, IExpressionEvaluator expressionEvaluator, TypeFinder typeFinder)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.ShowDialog(String typeName, String propertyToEmphasize)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.Show(String typeName, String propertyToEmphasize)
   at DebuggerShared.Commands.QuickActions.Context.ShowAllInstancesQuickActionCommand.ExecuteImpl(CaretContextData context)
   at DebuggerShared.Commands.OzCommand`1.Execute(Object parameter)
   --- End of inner exception stack trace ---
   at DebuggerShared.Services.ErrorNotification.ErrorNotificationLogger.LogErrorWithoutShowingErrorNotificationUI(String errorMessage, Exception exception)
-+-+-
DebuggerShared.Helpers.Exceptions.OzCodeException: Command.Execute failed ---> System.InvalidOperationException: An error occurred while trying to visualize instances.
   at DebuggerShared.Visualizer.DumpHeapVisualizer.DebuggerHostLauncher.Launch(Int32 pid, String winDbgTypeName)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.LaunchDebugger(String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.WriteObjectAddressesToFile(String expressionText, String winDbgTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesOrchestrator.GetAllInstancesOf(String userInputTypeName)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel.EvaluateExpression(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.QuickWatchViewModelBase.Reevaluate(String expressionText)
   at DebuggerShared.Visualizer.WatchTree.UI.ViewModels.ShowAllInstancesViewModel..ctor(ShowAllInstancesService engine, String typeName, String propertyToEmphasize, IExpressionEvaluator expressionEvaluator, TypeFinder typeFinder)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.ShowDialog(String typeName, String propertyToEmphasize)
   at DebuggerShared.Visualizer.DumpHeapVisualizer.ShowAllInstancesService.Show(String typeName, String propertyToEmphasize)
   at DebuggerShared.Commands.QuickActions.Context.ShowAllInstancesQuickActionCommand.ExecuteImpl(CaretContextData context)
   at DebuggerShared.Commands.OzCommand`1.Execute(Object parameter)
   --- End of inner exception stack trace ---
   at DebuggerShared.Services.ErrorNotification.ErrorNotificationLogger.LogErrorWithoutShowingErrorNotificationUI(String errorMessage, Exception exception)

Can you solve this Problem? Please tell me, if I can give futher Assistance.

Under review

Thanks for providing us with the logs, they prove to be very helpful.

We will further investigate and let you know once we've reached any conclusions.


I can confirm the bug in the ShowAllInstances feature. On my end it throws a Win32 error if I try to use the feature via the ShowAllInstances window. A report was already sent towards you guys.