Sometimes you get in Windows some strange error codes without any meaning behind.
Like 0xC0000005 or many other ones.
There is a simple Microsoft command line tool available to reveal the meaning of them. This tool was recently updated to the latest version. You find it here: https://www.microsoft.com/en-us/download/details.aspx?id=100432
Compared to the older version there are know approx. 8000 new return codes from more resources added. So its worth to download the latest version.
When you download it simply execute the executable followed
by the error code: e.g. err 0xC0000005
The error code may be used on more than on place in the OS. So you need to figure out the source (or OS area) where the issue happend.
winerror.h, ntstatus.h and bugcodes.h are handled typically by the OS kernel and relate to core os functions like file access etc.
USAGE: err [opt] {value} [value] [value] ...
where <value> must be of one of the following forms:
1. decorated hex (0x54f)
2. implicit hex (54f)
3. ambiguous (1359)
4. exact string (=ERROR_INTERNAL_ERROR)
5. substring (:INTERNAL_ERROR)
...and <opt> may be one of:
/:xml - causes the output to be in XML-parseable form.
To understand the output, try it. It's pretty obvious.
/:listTables - lists all the tables below in XML format.
Again, the format is pretty straightforward.
/:outputtoCSV - lists all the tables below in CSV format.
/:outputtoJS - lists all the tables below for use in JS.
/:outputtoCPP - lists all the tables below for a C++ header.
/:hresultfromwin32 - prints HRESULT_FROM_WIN32 errors for a C++ header.
All values on the command line will be looked up in our internal
tables and presented to you. If available, informational data
associated with the value(s) will also be shown (see below).
All tables are searched by default, but you can restrict the
output to those tables you deem appropriate by adding
"/<tablename>" to the beginning of the commandline.
Example:
> err /winerror.h /ntstatus.h 0
# winerror.h selected.
# ntstatus.h selected.
# for hex 0x0 / decimal 0 :
STATUS_WAIT_0 ntstatus.h
ERROR_SUCCESS winerror.h
# The operation completed successfully.
NO_ERROR winerror.h
SEC_E_OK winerror.h
S_OK winerror.h
# 5 matches found for "0"
This app has support derived from the following headers and privates:
activprof.h activscp.h adoint.h adserr.h
asferr.h audioclient.h audioenginebaseapo.h bitsmsg.h
bthdef.h bugcodes.h cderr.h cdosyserr.h
cfgmgr32.h cierror.h corerror.h corsym.h
ctffunc.h d3d.h d3d9.h d3d9helper.h
d3dx10.h d3dx10core.h d3dx9.h d3dx9xof.h
daogetrw.h dbdaoerr.h dciddi.h ddeml.h
ddraw.h dhcpssdk.h difxapi.h dinput.h
dinputd.h dlnaerror.h dmerror.h drt.h
dsound.h dxfile.h eaphosterror.h ehstormsg.h
esent.h fherrors.h filterr.h fltdefs.h
hidpi.h iiscnfg.h imapi2error.h imapi2fserror.h
imapierror.h ime.h intshcut.h ipexport.h
iscsierr.h iscsilog.h jscript9diag.h legacyErrorCodes.h
lmerr.h lmerrlog.h lmsvc.h lpmapi.h
lzexpand.h mciavi.h mdmregistration.h mdmsg.h
mediaerr.h mferror.h mmstream.h mobsync.h
mpeg2error.h mprerror.h mq.h mqoai.h
msctf.h msdrmerror.h msime.h msiquery.h
msopc.h mswmdm.h msxml2.h nb30.h
ndattrib.h netcfgx.h netevent.h netmon.h
netsh.h nserror.h ntdddisk.h ntdsapi.h
ntdsbmsg.h ntiologc.h ntstatus.h odbcinst.h
ole.h olectl.h oledberr.h oledlg.h
p2p.h patchapi.h patchwiz.h pbdaerrors.h
pdhmsg.h photoacquire.h portabledevice.h qossp.h
raserror.h rdcentraldb.h reconcil.h routprot.h
rtcerr.h sberrors.h scesvc.h schannel.h
setupapi.h shellapi.h sherrors.h shimgdata.h
shobjidl_core.h slerror.h snmp.h spatialaudioclient.h
spatialaudiometadata.h sperror.h stierr.h synchronizationerrors.h
tapi.h tapi3err.h tcerror.h textserv.h
textstor.h thumbcache.h tpcerror.h txdtc.h
upnp.h upnphost.h urlmon.h usb.h
usp10.h vdserr.h vfw.h vfwmsgs.h
vsserror.h wbemcli.h wcmerrors.h wcntypes.h
wdfstatus.h wdscpmsg.h wdsmcerr.h wdstptmgmtmsg.h
werapi.h wiadef.h winbio_err.h wincrypt.h
windowsplayready.h windowssearcherrors.h winerror.h winfax.h
winhttp.h wininet.h winioctl.h winldap.h
winsnmp.h winsock2.h winspool.h wpc.h
wsbapperror.h wsmerror.h wuerror.h xapo.h
xaudio2.h xmllite.h xpsdigitalsignature.h xpsobjectmodel.h
xpsobjectmodel_1.h
There are currently 25259 return codes registered from 173 sources.
Translate
Showing posts with label Debugging. Show all posts
Showing posts with label Debugging. Show all posts
Monday, January 27, 2020
Monday, November 20, 2017
GPO debug logging
Sometimes you need to search deeper to check why GPOs don't get applied.
Therefore you can enable the debug logging of the GPO client (service).
Please DO NOT FORGET TO DISABLE IT AFTERWARDS!!!
To enable logging in the Gpsvc.log file, follow these step by step guide:
1. Click Start , click Run , type regedit , and then click OK .
2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
3. On the Edit menu, point to New , and then click Key .
4. Type Diagnostics , and then press ENTER.
5. Right-click the Diagnostics subkey, point to New , and then click DWORD Value .
6. Type GPSvcDebugLevel , and then press ENTER.
7. Right-click GPSvcDebugLevel , and then click Modify .
8. In the Value data box, type 0x30002 , and then click OK .
9. Exit Registry Editor.
10. At a command prompt, type the following command, and then press ENTER:
gpupdate /force
11. View the Gpsvc.log file in the following folder:
%windir%\debug\usermode
Note - if the usermode folder does not exist under %WINDIR%\debug\ the gpsvc.log file will not be created. If the usermode folder does not exist, create it under %windir%\debug.
Thanks to CSS for the hint ;-)
Also check this out: https://technet.microsoft.com/en-us/library/cc749336
If you want to go REALLY DEEP then you find here more guidance.
https://mva.microsoft.com/en-US/training-courses/windows-performance-jump-start-8830
Then you need the Windows Performance Recorder which is tracking EVERYTHING on your system. Be aware this is searching a needle in the haystack as it produces GB's of binary logs!!!
Therefore you can enable the debug logging of the GPO client (service).
Please DO NOT FORGET TO DISABLE IT AFTERWARDS!!!
To enable logging in the Gpsvc.log file, follow these step by step guide:
1. Click Start , click Run , type regedit , and then click OK .
2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
3. On the Edit menu, point to New , and then click Key .
4. Type Diagnostics , and then press ENTER.
5. Right-click the Diagnostics subkey, point to New , and then click DWORD Value .
6. Type GPSvcDebugLevel , and then press ENTER.
7. Right-click GPSvcDebugLevel , and then click Modify .
8. In the Value data box, type 0x30002 , and then click OK .
9. Exit Registry Editor.
10. At a command prompt, type the following command, and then press ENTER:
gpupdate /force
11. View the Gpsvc.log file in the following folder:
%windir%\debug\usermode
Note - if the usermode folder does not exist under %WINDIR%\debug\ the gpsvc.log file will not be created. If the usermode folder does not exist, create it under %windir%\debug.
Thanks to CSS for the hint ;-)
Also check this out: https://technet.microsoft.com/en-us/library/cc749336
If you want to go REALLY DEEP then you find here more guidance.
https://mva.microsoft.com/en-US/training-courses/windows-performance-jump-start-8830
Then you need the Windows Performance Recorder which is tracking EVERYTHING on your system. Be aware this is searching a needle in the haystack as it produces GB's of binary logs!!!
Subscribe to:
Posts (Atom)
