Reputation: 17565
I'm debugging dumpfiles, using Windbg
, and regularly I'm getting warning/error messages, like the following:
*** WARNING: Unable to verify checksum for icuuc58.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for icuuc58.dll -
In order to avoid those, I've already tried to proceed my whole processing with:
!sym prompts off
!sym quiet
But the warning/error messages keep arriving.
Edit after first reply (is confirmed in second edit)
I've done several attempts, using .outmask-6
and .outmask-206
, but all of them more or less failed. What does that mean:
.reload -f => a lot of error/warning messages => normal behaviour
.outmask-6 or .outmask-206
.reload -f => no error/warning messages => Ok
.outmask-6 or .outmask-206
.reload -f => no error/warning messages => Ok
<execution of the whole script> => a lot of error/warning messages => NOK
I believe there are commands, which disable .outmask
command. Can you confirm this and in case yes, is there a command like:
.outmask-206(global) (which applies for the whole Windbg session)
As far as the symsrv.ini
file is concerned: I don't have this file on my computer, and honestly I prefer not to be searching for every module which symbol loading might cause problems. I'd prefer just to avoid the mentioned warning/error messages.
Edit after more insight on the issue
One thing I didn't mention yet, is the PYKD
usage: I'm working on heap_stat, a script, based on PYKD, for performing memory analysis, and I believe the problem in here, as you can see in following excerpt:
Script source code:
dbgCommand(".outmask-206")
...
dprintln("1")
type_info = typeInfo(class_name)
dprintln("2")
Script output:
1
*** WARNING: Unable to verify checksum for icuuc58.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for icuuc58.dll -
In my opinion, this means that the PYKD
typeInfo()
object declaration is the one, disabling the .outmask()
Windbg
command.
@PYKD developer: can you confirm this and if yes, add a PYKD
issue for this? (I didn't see any .outmask
related issue on the PYKD
issues homepage)
Upvotes: 2
Views: 615
Reputation: 17565
Until now, there've been two answers to my question:
Windbg
command outputPYKD
command outputI can't use general Windbg
outmasking, as I'm using PYKD
commands.
I can't use PYKD
outmasking, as I'm just launching (thousands of) PYKD
commands, which are, every single time, opening and closing a separate PYKD
session, and configuring the PYKD
outmask would slow down my application too much.
Therefore I've decided to go for another approach: I'll make sure that the PYKD
output messages' format is so specific (it will always contain a TAB character) that, instead of not using the error messages, I'll decide only to use the PYKD
messages (the ones, containing the TAB characters).
I've tested this approach and I can confirm it's working fine.
Thanks for the help.
Upvotes: 0
Reputation: 606
PYKD set own output mask:
client->GetOutputMask(&oldMask);
client->SetOutputMask(DEBUG_OUTPUT_NORMAL|DEBUG_OUTPUT_ERROR|DEBUG_OUTPUT_WARNING|DEBUG_OUTPUT_DEBUGGEE );
Upvotes: 1
Reputation: 9007
you can suppress the error / warning messages with .outmask-6
or with .outmask-206 to suppress the symsrv summary at the end and the warning messages
0:049> .outmask-6
Client 02C95358 mask is 3F1
0:049> .reload /f
Reloading current modules
................................................................
............................................................
be careful when using this some important error messages may also be suppressed
if you mean you need to stop symsrv from hitting the ms symbol server and wasting time
set up a symsrv.ini with [exclusions] section
cd windbg installation path
echo [exclusions] >> symsrv.ini
echo ic* >> symsrv.ini
outmask is global setting
Upvotes: 3