1

I have a really crazy behavior within my code:

A Method which calls A() calls Z().

I have an interface IConverterStoreBase, which provides a method: ConverterBase OrderConverter(ConverterType type):

public interface IConverterStoreBase
{
    ConverterBase OrderConverter(QDTUtil.ConverterType type);
}

The base class: ConverterStoreBase, which inherits from IConverterStorBase:

private ConverterBase OrderConverter(ConverterType TypeOfConverter)
{
    ConverterBase theConverter = MakeConverter(TypeOfConverter);
    theConverter.MakeConverter();
    return theConverter;
}

ConverterBase IConverterStoreBase.OrderConverter(ConverterType type)
{
    return OrderConverter(type);
}

The calling class: DrawingProject, which calls OrderConverter:

private static ConverterBase GetConverter(IConverterStoreBase CSB)
{
    return !DataProvider.ConverterType.Equals(ConverterType.NotSupported) ? CSB.OrderConverter(DataProvider.ConverterType) : null;
}

DataProvider is a central class, which contains different data structures and variables, which are needed in many and different parts of the code.

Now to the Problem (which first appears with Visual Studio 2017):

While debugging, I fill in data from a CSV, which is processed by the program. When all data is processed, the program is ready to get a converter ready based on that data. This is the step where GetConverter is called.

First GetConverter checks if the Projects ConverterType is supported or not. If it is not, just return null, else it should call the IConverterStoreBase's OrderConverter, but it calls a property from DataProvider which has nothing to do with this step, it calls :

public static StatusControlBase StatusControlBase { get; set; } = null;

which is an instance to control the status bar. CodeMap and all references show the correct call path.

Maybe something is broken while moving from vs2013 to vs2017.

Any suggestions how to fix this?

edit 1:

Name Language
>   QDTUtil.dll!QDTUtil.ProjectData.GetValue(string group = "Converter", string value = "Topology") Line 51 C#  Symbols loaded.
    Converter.dll!Converter.GL150.FactoryGL150N.AddOverview.get()   Unknown Non-user code. Skipped loading symbols.
    Converter.dll!Converter.GL150.ConverterGL150N.MakeConverter()   Unknown Non-user code. Skipped loading symbols.
    Converter.dll!Converter.ConverterStoreBase.Converter.IConverterStoreBase.OrderConverter(QDTUtil.ConverterType type) Unknown Non-user code. Skipped loading symbols.
    QDTFunction.dll!QDTFunction.DrawingProject.GetConverter(Converter.IConverterStoreBase CSB = {Converter.GL150.StoreGL150}) Line 120  C#  Symbols loaded.
    QDTFunction.dll!QDTFunction.DrawingProject.CreateConverter() Line 68    C#  Symbols loaded.

Exar666Kun
  • 135
  • 1
  • 18
  • 3
    Its unclear what the problem is, there doesn't seem to be enough code to figure this out without a guess, can you create a small minimal example that replicates your problem – TheGeneral Sep 03 '18 at 06:14
  • Check what are your code is doing inside `DataProvider.ConverterType` property getter. May be it does something which might explain behavior of the debugger. – Dipen Shah Sep 03 '18 at 06:22
  • @TheGeneral The Problem is that GetConverter calls StatusControlBase instead of OrderConverter, even if it is written in the code. (as written it is crazy :D) – Exar666Kun Sep 03 '18 at 06:48
  • Stack delivers: that Converter.MakeConverter and ConverterStoreBase are external Code? see edit in main post – Exar666Kun Sep 03 '18 at 06:55
  • @Mirko You should place a breakpoint and look at the `Call Stack`. It doesn't matter whether it _should_ be called (I _should_ be a good looking man, alas I am not!) - it matters whether it **is** called, and by what. – mjwills Sep 03 '18 at 07:14
  • 2
    Possible duplicate of [Debugging automatic properties](https://stackoverflow.com/questions/4408110/debugging-automatic-properties) – mjwills Sep 03 '18 at 07:14
  • thanks to @mjwills he got the right answer: https://stackoverflow.com/questions/25888343/symbol-status-showing-skipped-loading-for-dll-in-modules-window – Exar666Kun Sep 03 '18 at 08:07

1 Answers1

0

Ok this Problem was solved by editing the dll. properties:

https://stackoverflow.com/questions/25888343/symbol-status-showing-skipped-loading-for-dll-in-modules-window

something that I did not associate with it.

credit for this solution goes to mjwills. :)

Exar666Kun
  • 135
  • 1
  • 18