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)