none
How to enable dump of Environment.FailFast method

    Question

  • I have a process which is using the .NET framework version 3.5 (I cannot switch to 4.0 for reasons beyond my control).  The process runs on either Windows 7 or Windows 2008 Server and, in my case, these are 64 bit OSs.  The process that my .NET code runs in is a 32 bit process.  What I do in my .NET code is to call System.Environment.FailFast and I cannot seem to be able to get dump files generated.  I can get dump file for 4.0 framework code but that isn't what I have.

    Here is a similar link but it is talking about earlier OSs:

    http://social.msdn.microsoft.com/Forums/en-US/clr/thread/0f8dbd4d-c4dc-454e-93a0-4085b0aa416a

    Here is a related link:

    http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx

    I created and configured the LocalDumps key but when I run the process (using ProcessMonitor) it does not seem like this key is being used.  I am so confused.

    The reason that I used FailFast was that I like the fact that it puts an entry in the Event Log and I love the idea of generating dumps files that customers can send to me.  One of the host processes my code runs in is interactive and another one is not (it is a process which is forked off by a service).  I mention this I need a solution which does not require interacting with the user.  If someone has an alternative solution then I'd be interested in that as well.

    Saturday, September 24, 2011 8:24 PM

All replies

  • Could you please provide some code snippet?

    Any information that helps us reproduce this issue is appreciated.

    Have a nice day.


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, September 26, 2011 8:06 AM
  •     class Program
        {
            static void Main(string[] args)
            {
                System.Environment.FailFast("This is a trivial test");
            }
        }

    Monday, September 26, 2011 11:16 AM
  • When you use the 4.0 framework the WerFault.exe process is run which supports the WER framework.  Getting dumps for this works well.

    When you use the 3.5 framework then the dw20.exe process is run.  What I can't figure out is how to configure dw20.exe such that dump files are created.

    On older XP systems the utility drwtsn32.exe was used to configure this.  I do not think that this utility exists on new OSs such as Windows 7 or Windows 2008 R2 Server.

    Here is a related link:

    http://blogs.msdn.com/b/tess/archive/2010/08/23/getting-full-user-mode-dumps-automatically-when-your-process-crashes.aspx

    Monday, September 26, 2011 10:22 PM
  • Hi,

    A reference we got during the research http://support.microsoft.com/kb/981878

    Please check to see if it could help in your situation.

    Regards


    Wednesday, October 05, 2011 7:40 AM
  • Thanks for the KB link.  I had found that earlier and the versions of the assemblies that it lists are present on my machine.

    I filed this as an incident with Microsoft support.  The response was that this does not work with the 3.5 framework and there are no intentions to make it work. 

    It does work with the 4.0 framework.

    Sunday, October 30, 2011 3:18 PM