{"id":399,"date":"2009-06-18T15:46:32","date_gmt":"2009-06-18T15:46:32","guid":{"rendered":"https:\/\/driverentry.com.br\/en\/2009\/06\/18\/taking-the-blue-screen-home\/"},"modified":"2026-07-30T20:15:36","modified_gmt":"2026-07-30T20:15:36","slug":"taking-the-blue-screen-home","status":"publish","type":"post","link":"https:\/\/driverentry.com.br\/en\/2009\/06\/18\/taking-the-blue-screen-home\/","title":{"rendered":"Taking the blue screen home"},"content":{"rendered":"<div style=\"text-align: right;\"><a href=\"https:\/\/driverentry.com.br\/2009\/06\/18\/levando-a-tela-azul-pra-casa\/\"><img loading=\"lazy\" decoding=\"async\" title=\"Em Portugues\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/br.gif\" alt=\"\" width=\"21\" height=\"19\" \/><\/a><\/div>\n<p>Nothing better than a nice bit of whining to start off this post. My pace is low because the university is sucking up all my vital energies. If you have been following my blog in the latest posts, you already know what I am talking about. In my free time I have been running around with my project, my internship and my job. My blog is also on that to-do list, but the poor little thing has less priority here. Some of you may know that I am a model-helicopter hobbyist, but as I told my friend Heldai the other day: <em>&#8220;Hobby is the name we give to what we do to fill the time we have free, but I have yet to discover the name we would give to what we would like to do if we had free time&#8230;&#8221;<\/em>. Anyway, since this has nothing to do with today&#8217;s post, let us change the subject.<\/p>\n<p>Between one thing and another, I was trying to think of something simple for a small post. It was then that the question from reader Ismael Rocha (Bras\u00c3\u00adlia &#8211; DF) gave rise to this post.<\/p>\n<blockquote>\n<p>&#8220;Is there a way to save the BSODs to later check for possible problems?&#8221;<\/p>\n<\/blockquote>\n<p>Save a blue screen? Save what? The machine is already dead, my friend! It is gone! It is over! What you can still try to save is your job.<\/p>\n<h3>Joking aside, yes there is.<\/h3>\n<p>The operating system is pre-configured to restart automagically when a critical failure happens. Critical failure is the polite way of saying that the house fell down, the cow went to the swamp, the alligator hugged you, the drum spun, the iron screamed, the weather closed in, it got too small for you&#8230; anyway, a blue screen happened. <a href=\"https:\/\/driverentry.com.br\/en\/2007\/09\/03\/did-you-say-i-dont-like-blue-screens\/\">Not that I do not like blue screens<\/a>, but rather the side effect they bring us. By the worldwide standard of third-party driver consumers, if you are the author of a driver installed on a machine at the moment of the failure, whether it is running or not, then the failure is your fault until proven otherwise. It is sad, but it is reality. From the moment a blue screen happens, you are the default culprit and you will have to keep putting up with little jokes for the rest of eternity. I would like to take advantage of the context to send a hug to my friend Heldai.<\/p>\n<h3>Displaying the blue screen<\/h3>\n<p>In an attempt to save your dignity, you try to prove the fault is not yours. Saying that the machine reset is a <em>feature<\/em> of your driver and that fortunately it worked very well is not going to stick, not the second time. But what can you do if the blue screen is just a flash of information while the machine restarts? Fortunately you can change that. By right-clicking on <em>&#8220;My Computer&#8221;<\/em>, selecting <em>&#8220;Properties&#8221;<\/em>. From there just take a look at the figure below to find out that you can prevent the machine from restarting automagically.<\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/DumpSettings.png\" alt=\"\" \/><\/div>\n<p><br class=\"spacer_\" \/><\/p>\n<p>You will have to uncheck the &#8220;Automatically restart&#8221; option, and thus have all the time you need to show everyone that the problem is not yours. Most of the time the system manages to detect the driver that is probably the cause of all this headache and display the file name on the blue screen as we can see in the figure below.<\/p>\n<h3>Taking a blue screen apart<\/h3>\n<div style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/UselessBSOD.png\" alt=\"\" \/><\/div>\n<p><br class=\"spacer_\" \/><\/p>\n<p>&#8220;Wow! So Windows has an artificial intelligence algorithm that probably uses nanotechnology somehow to find the guilty driver?&#8221;<\/p>\n<p>Actually it is a bit simpler than that; Windows simply takes the image of the driver that threw an unhandled exception or that voluntarily brought down the system upon detecting some inconsistency. For this reason, the name of the driver displayed is not always in fact the name of the guilty driver. If we think of the simple example where the driver <em>MetralhadoraGiratoria.sys<\/em> writes where it should not, corrupting some allocation <em>Pool<\/em>, this error can later be detected by the driver <em>Laranja.sys<\/em> which, when making a memory allocation, calls a system routine that in turn calls the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms801645.aspx\">KeBugCheckEx()<\/a> routine upon detecting such an inconsistency. Can you guess the name of the driver that will appear on the BSOD?<\/p>\n<p>Other information can still be obtained from the blue screen. If it is the name of your driver that appears on the screen, then you can also get the address of the instruction where the disaster occurred. In our example the address is <em>0xF8DD8A415<\/em>; from there we can reach the function that was executing at the moment of the failure if we have the map file generated by the linker. It is also possible to obtain the date of the file image and clear up that doubt about whether it really was the right version that was running. The file date is obtained from the <em>DateStamp<\/em> field and is expressed as a 32-bit hexadecimal value representing the number of seconds since midnight of January first, 1970. What is really hard is finding someone with enough patience to calculate that in front of a blue screen. There are far less laborious ways to find out that the fault was indeed yours.<\/p>\n<p>In my opinion, the most relevant information the blue screen offers is the <strong>Stop Code<\/strong>. As the name suggests, <em>Stop Code<\/em> is a code that will indicate the reason for the system failure. You can consult the list of Stop Codes at this <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms789516.aspx\">link<\/a> or take a look at the <em>C:\\WinDDK\\6001.18002\\inc\\api\\BugCodes.h<\/em> file that comes with the WDK.<\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/BugCheckCodes.png\" alt=\"\" \/><\/div>\n<p><br class=\"spacer_\" \/><\/p>\n<p><em>Stop Codes<\/em> come with up to four parameters that bring additional information to the stop code. The interpretation of these values will depend on the failure code, which in our example is 0x7E. Consulting the link I mentioned a moment ago, we will have the following interpretation for the values presented to us.<\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/BugCheck7E.png\" alt=\"\" \/><\/div>\n<p><br class=\"spacer_\" \/><\/p>\n<h3>But is there a way to save the BSOD or not?<\/h3>\n<p>Yeah yeah yeah&#8230; It is just that I start writing and end up getting carried away. But anyway, when a critical failure occurs, the system creates a file known as a <strong>Crash Dump<\/strong>. There are three options of <em>crash dumps<\/em> that can be generated.<\/p>\n<ul>\n<li>\n<p><strong>Complete Dump:<\/strong> In this option, the entire contents of physical memory at the moment of the failure will be copied into a file. Obviously the size of this file will be the amount of memory present on the machine plus an extra 1MB of header. This option does not appear on machines that have more than 2GB of physical memory, but it is still possible to configure the complete dump without using this graphical interface by writing directly to the registry. This method is also known as <em>&#8220;configuring it by hand&#8221;<\/em>. The complete dump is very useful when the information present in memory pages in <em>User Space<\/em> is relevant to the problem, such as <em>Dead Lock<\/em> situations. If you do not know what <em>User Space<\/em> means, <a href=\"https:\/\/driverentry.com.br\/en\/2008\/09\/11\/a-pinch-of-virtual-memory\/\">this post<\/a> may help.<\/p>\n<\/li>\n<li>\n<p><strong>Kernel Dump:<\/strong> Here only the pages in <em>System Space<\/em> will be copied to disk. The size of this file will vary depending on how much physical memory the machine has installed, but there is no exact proportion. Much of the page balancing used by the virtual memory manager will determine the size of this file, but it is on the order of 200MB on a system with 4GB of total memory (you can already carry it on a pen drive). This option is normally the most viable, since it only carries the most relevant information for a system crash.<\/p>\n<\/li>\n<li>\n<p><strong>Minimal Dump:<\/strong> Here a 64KB file will be generated for 32-bit systems (128KB for 64-bit systems). In this file we have only the <em>Stop Code<\/em> and its parameters, the list of drivers loaded at the moment of the failure, information about the current process and thread, and the <em>Call Stack<\/em> of the thread that caused the failure.<\/p>\n<\/li>\n<\/ul>\n<p>In the same window where you configure the automatic system restart, there are two other fields that will configure the type of dump desired and the path where it will be generated. Now you can already take your blue screen in your heart and debug it wherever you want. At home, at work, on the train, on the subway&#8230; You can also ask clients to send you their <em>crash dumps<\/em> so that you can diagnose the problem without having to travel across rivers and mountains in the cold and the rain.<\/p>\n<h3>I have the <em>Crash Dump<\/em>, now what?<\/h3>\n<p>Now that you are the happy owner of a wonderful <em>Crash Dump<\/em> file, what more could you want from life? Maybe being able to find out the cause of the problem would already be a good start. For that we are going to use the operating system&#8217;s native debugger. If you do not know <a href=\"http:\/\/www.microsoft.com\/whdc\/DevTools\/Debugging\/default.mspx\">WinDbg<\/a> yet, then take a look at <a href=\"https:\/\/driverentry.com.br\/en\/2006\/12\/01\/step-into-kernel-serial\/\">this post<\/a> so you know what we are talking about here.<\/p>\n<p>Assuming you have <em>Windbg<\/em> installed on your development machine, and that it has the symbol server configured, all we have to do now is open <em>WinDbg<\/em>, select the <em>&#8220;Open Crash Dump&#8230;&#8221;<\/em> item in the <em>&#8220;File&#8221;<\/em> menu and point to the path of the dump file you copied from the poor machine that dared to run your driver. The text below is the result shown in the command window when the <em>Crash Dump<\/em> is opened.<\/p>\n<div style=\"font-family: Courier New; font-size: 9pt; color: black; background: #A4F64C; border: 1px outset; padding: 0 0 0 5px;\">\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Copyright (c) Microsoft Corporation. All rights reserved.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Loading Dump File [Z:\\Sources\\MEMORY.DMP]<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Kernel Summary Dump File: Only kernel address space is available<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Symbol search path is: srv*<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Executable search path is: <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Product: WinNt, suite: TerminalServer SingleUserTS<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Built by: 2600.xpsp.080413-2111<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Machine Name:<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Kernel base = 0x804d7000 PsLoadedModuleList = 0x80553fc0<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Debug session time: Thu Jun 18 14:46:24.969 2009 (GMT-3)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">System Uptime: 0 days 0:03:20.375<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Loading Kernel Symbols<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">...............................................................<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">.........................................................<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Loading User Symbols<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Loading unloaded module list<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">...........<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*******************************************************************************<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">*                                                                             *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*                        Bugcheck Analysis                                    *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">*                                                                             *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*******************************************************************************<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Use !analyze -v to get detailed debugging information.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">BugCheck 7E, {c0000005, f8d9f415, f8af1bb4, f8af18b0}<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Probably caused by : Useless.sys ( Useless!DriverEntry+5 )<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Followup: MachineOwner<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">---------<\/pre>\n<\/div>\n<p>Now if we simply run the suggested command, we will already have a good description of what happened to the machine that suffered the critical failure.<\/p>\n<div style=\"font-family: Courier New; font-size: 9pt; color: black; background: #A4F64C; border: 1px outset; padding: 0 0 0 5px;\">\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">kd> !analyze -v<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*******************************************************************************<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">*                                                                             *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*                        Bugcheck Analysis                                    *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">*                                                                             *<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">*******************************************************************************<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">This is a very common bugcheck.  Usually the exception address pinpoints<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">the driver\/function that caused the problem.  Always note this address<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">as well as the link date of the driver\/image that contains this address.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Arguments:<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Arg1: c0000005, The exception code that was not handled<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Arg2: f8d9f415, The address that the exception occurred at<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Arg3: f8af1bb4, Exception Record Address<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Arg4: f8af18b0, Context Record Address<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Debugging Details:<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">------------------<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">memory at 0x%08lx. The memory could not be %s.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">FAULTING_IP: <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Useless!DriverEntry+5 [z:\\sources\\driverentry\\useless\\useless.c @ 7]<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">f8d9f415 c7050000000000000000 mov dword ptr ds:[0],0<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">EXCEPTION_RECORD:  f8af1bb4 -- (.exr 0xfffffffff8af1bb4)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">ExceptionAddress: f8d9f415 (Useless!DriverEntry+0x00000005)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">   ExceptionCode: c0000005 (Access violation)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">  ExceptionFlags: 00000000<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">NumberParameters: 2<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">   Parameter[0]: 00000001<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">   Parameter[1]: 00000000<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Attempt to write to address 00000000<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">CONTEXT:  f8af18b0 -- (.cxr 0xfffffffff8af18b0)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">eax=07263867 ebx=00000000 ecx=bb40e64e edx=1be10003 esi=e19feea8 edi=81eb41d0<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">eip=f8d9f415 esp=f8af1c7c ebp=f8af1c7c iopl=0         nv up ei ng nz na po nc<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010282<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Useless!DriverEntry+0x5:<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">f8d9f415 c7050000000000000000 mov dword ptr ds:[0],0  ds:0023:00000000=????????<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Resetting default scope<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">PROCESS_NAME:  System<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">at 0x%08lx. The memory could not be %s.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">EXCEPTION_PARAMETER1:  00000001<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">EXCEPTION_PARAMETER2:  00000000<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">WRITE_ADDRESS:  00000000 <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">FOLLOWUP_IP: <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">Useless!DriverEntry+5 [z:\\sources\\driverentry\\useless\\useless.c @ 7]<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">f8d9f415 c7050000000000000000 mov dword ptr ds:[0],0<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">BUGCHECK_STR:  0x7E<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">DEFAULT_BUCKET_ID:  NULL_DEREFERENCE<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">LAST_CONTROL_TRANSFER:  from 8057677f to f8d9f415<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">STACK_TEXT:  <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">f8af1c7c 8057677f 81eb41d0 81d46000 00000000 Useless!DriverEntry+0x5<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\"> [z:\\sources\\driverentry\\useless\\useless.c @ 7]<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">f8af1d4c 8057688f 80000360 00000001 00000000 nt!IopLoadDriver+0x66d<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">f8af1d74 80534c02 80000360 00000000 823c68b8 nt!IopLoadUnloadDriver+0x45<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">f8af1dac 805c6160 b29accf4 00000000 00000000 nt!ExpWorkerThread+0x100<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">f8af1ddc 80541dd2 80534b02 00000001 00000000 nt!PspSystemThreadStartup+0x34<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">FAULTING_SOURCE_CODE:  <\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">     3: NTSTATUS DriverEntry(IN PDRIVER_OBJECT  pDriverObject,<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">     4:                      IN PUNICODE_STRING pusRegistryPath)<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">     5: {<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">     6:     \/\/-f--> Diga ol\u00e1 \u00e0 BSOD e v\u00e1 se acostumando com ela...<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">>    7:     *(PVOID*)0x00000000 = 0;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">     8:<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">     9:     \/\/-f--> N\u00e3o vamos viver para ver isso.<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">    10:     return STATUS_SUCCESS;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">    11: }<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">SYMBOL_STACK_INDEX:  0<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">SYMBOL_NAME:  Useless!DriverEntry+5<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">FOLLOWUP_NAME:  MachineOwner<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">MODULE_NAME: Useless<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">IMAGE_NAME:  Useless.sys<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">DEBUG_FLR_IMAGE_TIMESTAMP:  4a3844ef<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">STACK_COMMAND:  .cxr 0xfffffffff8af18b0 ; kb<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">FAILURE_BUCKET_ID:  0x7E_Useless!DriverEntry+5<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">BUCKET_ID:  0x7E_Useless!DriverEntry+5<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">&nbsp;<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FAFAFA;\">Followup: MachineOwner<\/pre>\n<pre style=\"margin: 0px; padding: 0 0 0 5px; background: #FFFFFF;\">---------<\/pre>\n<\/div>\n<p>If the machine that is opening the dump file is your driver&#8217;s development machine, <em>Windbg<\/em> will be able to automagically find your driver&#8217;s sources and point out the cause of the failure in great detail. So make sure your manager is not nearby at that moment. This is already much more information than you could get simply by looking at the computer&#8217;s blue screen. In this example I used the example driver from the <a href=\"https:\/\/driverentry.com.br\/en\/2006\/09\/11\/getting-started\/\">Getting Started<\/a> post to reproduce the blue screen. But do not worry about that; even being a novice driver programmer, one of the first things you will learn is how to generate blue screens.<\/p>\n<p>Once again I hope I have helped.<br \/>\n Have fun!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nothing better than a nice bit of whining to start off this post. My pace is low because the university is sucking up all my vital energies. If you have been following my blog in the latest posts, you already know what I am talking about. In my free time I have been running around [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-399","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/comments?post=399"}],"version-history":[{"count":1,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/399\/revisions"}],"predecessor-version":[{"id":400,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/399\/revisions\/400"}],"wp:attachment":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/media?parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/categories?post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/tags?post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}