none
Profiler load path for 32/64-bit architectures (COR_PROFILER_PATH variable) RRS feed

  • Question

  • Hi,

    According to this page (https://msdn.microsoft.com/en-us/library/ee471451(v=vs.100).aspx) since .NET v4 the framework supports selection of the profiler DLL location using COR_PROFILER_PATH environment variable. This is really convinient, but unfortunately this approach does not work when a mix of x86/x64 processes is being started, since two two different profiler DLLs are required (one per architecture).

    Looking into the source code of .NET Core, I see that it seems to support separate variables per architecture COR_PROFILER_PATH_32 / COR_PROFILER_PATH_64. However, I found no official documentation for these anywhere. Are these supported by .NET Framework as well? If yes, can it be officially documented? If not, can the developers consider adding this feature?

    Best regards,
    Vasili

    Sunday, June 10, 2018 8:55 AM

All replies

  • Hi Vasili Galka (SL),

    Thank you for posting here.

    Based on my search, .net support COR_PROFILER_PATH_32 / COR_PROFILER_PATH_64. It is in the GitHub document. It shows two primary ways to configure runtime behavior.

    The COR_PROFILER_PATH_32 / COR_PROFILER_PATH_64 declare in Profiling API / ETW Configuration Knobs. For more details, please refer to the GitHub document.

    https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/clr-configuration-knobs.md

    Best Regards,

    Wendy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, June 11, 2018 8:48 AM
    Moderator
  • Hi Wendy,

    Thank you for your reply!

    I thought that the GitHub documentation is only for .NET Core. Does it apply to the "regular" .NET framework as well? If yes, starting from what framework version are these supported?

    Best,
    Vasili

    Wednesday, June 13, 2018 11:54 AM
  • Hi Vasili Galka (SL),

    >>Does it apply to the "regular" .NET framework as well? If yes, starting from what framework version are these supported?

    In the article, please check the content below.

    COR_PROFILER_PATH_32 Specifies the path to the DLL of profiler to load into currently running 32 bits process STRING EXTERNAL DontPrependCOMPlus_
    COR_PROFILER_PATH_64 Specifies the path to the DLL of profiler to load into currently running 64 bits process STRING EXTERNAL
    CORECLR_PROFILER_PATH_32 CoreCLR only: Specifies the path to the DLL of profiler to load into currently running 32 process STRING EXTERNAL DontPrependCOMPlus_
    CORECLR_PROFILER_PATH_64 CoreCLR only: Specifies the path to the DLL of profiler to load into currently running 64 process STRING EXTERNAL

    If the parameter is only support Core, it will note CoreCLR only.

    Best Regards,

    Wendy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Thursday, June 21, 2018 8:41 AM
    Moderator