pdftotextで、PDFファイルからテキスト抽出しますと、怪しい表現になる場合が有ります。
「ソフトウェア」が、「ソフトウェゕ」に化けてしまう。「ソフトウェゕ」で、検索
「ユーティリティ」が、「ユーテゖリテゖ」が化けてしまう。「ユーテゖリテゖ」で、検索
ご存知ないでしょうか…
2012年7月17日火曜日
2012年7月12日木曜日
WinDbgで、エラー報告データを解析2(.NETfx 2.0向け)
前回の続編です。
今回は、スタックトレースを見ながら要因を追跡していきます。
WinDbgを起動します。
[File]→[Open Crash Dump...]
~~~
打ち込みます(.NET Framework 2.0対応のため)
結果:
~~~
打ち込みます。発出された例外を表示。
!pe
結果:
考察:
~~~
打ち込みます(スタックトレースを表示します)
!CLRStack -p
結果:
考察:
打ち込みます。FileStreamのthisポインタをダンプします。
結果:
考察:
打ち込みます。
結果:
考察:
「指定されたネットワーク名は利用できません」の発生原因は、
バックアップのログファイルを書き込んでいる最中に、
NASがダウンしたからだ、と考えられます。
※ google-code-prettifyを組み込み、表示を最適化しました。
参考:SOS.dll (SOS デバッガー拡張)
今回は、スタックトレースを見ながら要因を追跡していきます。
WinDbgを起動します。
[File]→[Open Crash Dump...]
次の場所を開く(Windows Server 2003):
%USERPROFILE%\Local Settings\Application Data\PCHealth\ErrorRep\QSignoff
8C80969E.cab等、cabを開きます。~~~
打ち込みます(.NET Framework 2.0対応のため)
.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll
結果:
0:002> .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll ------------------------------------------------------------ sos.dll needs a full memory dump for complete functionality. You can create one with .dump /ma <filename> ------------------------------------------------------------
~~~
打ち込みます。発出された例外を表示。
!pe
結果:
0:002> !pe Exception object: 09fb423c Exception type: System.IO.IOException Message: 指定されたネットワーク名は利用できません。 InnerException: <none> StackTrace (generated): SP IP Function 00A4FB64 799D0B09 mscorlib_ni!System.IO.__Error.WinIOError(Int32, System.String)+0x75c9f9 00A4FBC0 79A0CE90 mscorlib_ni!System.IO.FileStream.WriteCore(Byte[], Int32, Int32)+0x7221a0 00A4FBE0 792EACD2 mscorlib_ni!System.IO.FileStream.FlushWrite(Boolean)+0x22 00A4FBF0 792EB7F7 mscorlib_ni!System.IO.FileStream.Dispose(Boolean)+0x57 00A4FC20 792CA80B mscorlib_ni!System.IO.FileStream.Finalize()+0x1b StackTraceString: <none> HResult: 80070040
考察:
- FileStreamがExceptionの発生源になっています。
- FileStreamは、ファイル名を持っているはずなので、それを探ってみたいと思います。
~~~
打ち込みます(スタックトレースを表示します)
!CLRStack -p
結果:
0:002> !CLRStack -p OS Thread Id: 0x2198 (2) ESP EIP 00a4fac0 7c97845c [HelperMethodFrame: 00a4fac0] 00a4fb64 799d0b09 System.IO.__Error.WinIOError(Int32, System.String) PARAMETERS: errorCode = <no data> maybeFullPath = <no data> 00a4fbc0 79a0ce90 System.IO.FileStream.WriteCore(Byte[], Int32, Int32) PARAMETERS: this = <no data> buffer = <no data> offset = <no data> count = <no data> 00a4fbe0 792eacd2 System.IO.FileStream.FlushWrite(Boolean) PARAMETERS: this = 0x010a3550 calledFromFinalizer = <no data> 00a4fbf0 792eb7f7 System.IO.FileStream.Dispose(Boolean) PARAMETERS: this = 0x010a3550 disposing = 0x00000000 00a4fc20 792ca80b System.IO.FileStream.Finalize() PARAMETERS: this = <no data>
考察:
- FileStreamのthisポインタが露出しています。
- FileStreamのthisポインタから、インスタンスの内容物を解剖します。
打ち込みます。FileStreamのthisポインタをダンプします。
!do 0x010a3550
結果:
0:002> !do 0x010a3550
Name: System.IO.FileStream
MethodTable: 793051f4
EEClass: 790df0f0
Size: 80(0x50) bytes
(C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
Fields:
MT Field Offset Type VT Attr Value Name
79330888 400018a 4 System.Object 0 instance 00000000 __identity
7992db14 4001b70 8 ...ream+ReadDelegate 0 instance 00000000 _readDelegate
7992dba0 4001b71 c ...eam+WriteDelegate 0 instance 00000000 _writeDelegate
7931c008 4001b72 10 ...ng.AutoResetEvent 0 instance 00000000 _asyncActiveEvent
79332eb8 4001b73 14 System.Int32 1 instance 1 _asyncActiveCount
7932e968 4001b6f 574 System.IO.Stream 0 shared static Null
>> Domain:Value 00161ee0:0109bab4 <<
793336dc 4001bfb 28 System.Byte[] 0 instance 010a4a90 _buffer
79330c6c 4001bfc 2c System.String 0 instance 010a35a0 _fileName
79304738 4001bfd 44 System.Boolean 1 instance 0 _isAsync
79304738 4001bfe 45 System.Boolean 1 instance 0 _canRead
79304738 4001bff 46 System.Boolean 1 instance 1 _canWrite
79304738 4001c00 47 System.Boolean 1 instance 1 _canSeek
79304738 4001c01 48 System.Boolean 1 instance 0 _exposedHandle
79304738 4001c02 49 System.Boolean 1 instance 0 _isPipe
79332eb8 4001c03 34 System.Int32 1 instance 0 _readPos
79332eb8 4001c04 38 System.Int32 1 instance 0 _readLen
79332eb8 4001c05 3c System.Int32 1 instance 4096 _writePos
79332eb8 4001c06 40 System.Int32 1 instance 4096 _bufferSize
7932ec38 4001c07 30 ...es.SafeFileHandle 0 instance 010a3640 _handle
793324f8 4001c08 18 System.Int64 1 instance 111877 _pos
793324f8 4001c09 20 System.Int64 1 instance -1 _appendStart
79304738 4001bf9 adc System.Boolean 1 shared static _canUseAsync
>> Domain:Value 00161ee0:1 <<
79334198 4001bfa 57c ...ompletionCallback 0 shared static IOCallback
>> Domain:Value 00161ee0:0109d148 <<
考察:
- _fileName が 010a35a0 を指しています。
~~~
打ち込みます。
!do 010a35a0
結果:
0:002> !do 010a35a0
Name: System.String
MethodTable: 79330c6c
EEClass: 790ed65c
Size: 158(0x9e) bytes
(C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: \\192.168.2.119\share\DD7Backup\FDSET\DD7Backup遠方(11日)(夜)(Set1)(遠).log
Fields:
MT Field Offset Type VT Attr Value Name
79332eb8 4000096 4 System.Int32 1 instance 71 m_arrayLength
79332eb8 4000097 8 System.Int32 1 instance 70 m_stringLength
7933194c 4000098 c System.Char 1 instance 5c m_firstChar
79330c6c 4000099 10 System.String 0 shared static Empty
>> Domain:Value 00161ee0:01091198 <<
7933189c 400009a 14 System.Char[] 0 shared static WhitespaceChars
>> Domain:Value 00161ee0:01091714 <<
考察:
- 知りたかった情報が露出しました。
「指定されたネットワーク名は利用できません」の発生原因は、
バックアップのログファイルを書き込んでいる最中に、
NASがダウンしたからだ、と考えられます。
※ google-code-prettifyを組み込み、表示を最適化しました。
参考:SOS.dll (SOS デバッガー拡張)
2012年7月5日木曜日
Alphaleonis.Win32.Vss.VssSnapshotSetInProgressException
対策:
- Volume Shadow Copyサービスを開始状態→停止状態にしました。
考えられる点:
- 短時間で、スナップショットを作って消して、を繰り返すと発生するようです。
―――
Alphaleonis.Win32.Vss.VssSnapshotSetInProgressException はハンドルされませんでした。
Message="The creation of a shadow copy is already in progress."
Source="AlphaVSS.60.x64"
StackTrace:
場所 Alphaleonis.Win32.Vss.VssBackupComponents.StartSnapshotSet()
場所 DiffBkCli.MSSnap.Start() 場所 C:\Proj\SyncAmaz\MSSnap.cs:行 90
場所 SyncAmaz.Program.Main(String[] args) 場所 C:\Proj\SyncAmaz\Program.cs:行 167
―――
ログの名前: Application
ソース: VSS
日付: 2012/07/04 10:30:26
イベント ID: 13
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: DD11
説明:
ボリューム シャドウ コピー サービス情報: CLSID {e579ab5f-1cc4-44b4-bed9-de0991ff0623} および名前 Coordinator を持つ COM サーバーを開始できません。[0x80070005, アクセスが拒否されました。
]
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="VSS" />
<EventID Qualifiers="0">13</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-07-04T01:30:26.000000000Z" />
<EventRecordID>9687</EventRecordID>
<Channel>Application</Channel>
<Computer>DD11</Computer>
<Security />
</System>
<EventData>
<Data>{e579ab5f-1cc4-44b4-bed9-de0991ff0623}</Data>
<Data>Coordinator</Data>
<Data>0x80070005, アクセスが拒否されました。
</Data>
<Data>
</Data>
<Binary>2D20436F64653A2041444D50524F434330303030303135302D2043616C6C3A2041444D50524F434330303030303134342D205049443A202030303030323330342D205449443A202030303030343130382D20434D443A202076737361646D696E20206C69737420736861646F777320202D20557365723A204E616D653A20444431315C4B552C205349443A532D312D352D32312D3533323737373434382D323532383834363738392D323437363039333533372D31303031</Binary>
</EventData>
</Event>
※ google-code-prettifyを組み込み、表示を最適化しました。
登録:
コメント (Atom)