<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jozef Izso &#187; troubleshooting</title>
	<atom:link href="http://izsak.net/weblog/tag/troubleshooting/feed/" rel="self" type="application/rss+xml" />
	<link>http://izsak.net</link>
	<description></description>
	<lastBuildDate>Tue, 31 Jan 2012 19:38:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Prípad padajúceho Prieskumníka (aka explorer.exe)</title>
		<link>http://izsak.net/weblog/247/pripad-padajuceho-prieskumnika/</link>
		<comments>http://izsak.net/weblog/247/pripad-padajuceho-prieskumnika/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 23:16:16 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=247</guid>
		<description><![CDATA[
<p>Mám teraz doma nanovo preinštalovanú Vistu Ultimate x64 a keďže veľmi
veľa programujem, mám tu plno nástrojov na vývoj: Visual Studio, WinDbg,
MSDN Library s dokumentáciou, Apache na lokálny SVN server, samozrejme
Tortoise SVN (x86 aj x64 bit verzie, aby kontextové menu fungovalo správne
v Exploreri aj v Total Commanderi, ktorý je len 32bitový). Nesmie chýbať
virtuálna cd-romka – […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Mám teraz doma nanovo preinštalovanú Vistu Ultimate x64 a keďže veľmi
veľa programujem, mám tu plno nástrojov na vývoj: Visual Studio, WinDbg,
MSDN Library s dokumentáciou, Apache na lokálny SVN server, samozrejme
Tortoise SVN (x86 aj x64 bit verzie, aby kontextové menu fungovalo správne
v Exploreri aj v Total Commanderi, ktorý je len 32bitový). Nesmie chýbať
virtuálna cd-romka – pomocou Virtual CD 9 – a NOD32 Antivirus 4.</p>

<p>Potreboval som nainštalovať Windows SDK, tak som pripojil .iso image a
chvíľu počkal. Autorun sa nespustil, takže som šiel do Štart &gt;
Počítač, pravý klik na cd-romku, chvíľu sa nič nedialo a nasledoval Dr.
Watson, ktorý mi oznámil, že program Prieskumník sa musí reštartovať.</p>

<p>Na to že som ešte nestihoval nainštalovať rôzne bety a iné pofidérne
programy a mám tu len tie o ktorých viem, že sú veľmi stabilné, začal
Prieskumník vo Viste padať celkom rýchlo. Prvé podozrenie padlo na chybný
Tortoise SVN, ktorý je zaregistrovaný do exploreru a Virtual CD ktorý do neho
tiež pridáva vlastné kontextové menu. Stačí sa len dopátrať ku
skutočnej príčine.</p>

<p>Mark Russinovich má vynikajúce články na svojom blogu o možnostiach
hľadania chýb v padajúcich programoch a článok <a
href="http://blogs.technet.com/markrussinovich/archive/2008/06/02/3065065.aspx">The
Case of the Random IE and WMP Crashes</a> mi naozaj pomohol a konečne som mal
možnosť si skúsiť tento typ troubleshootingu.</p>

<p>Vo WinDbg sa stačí pripojiť na existujúci proces: <strong>File &gt;
Attach to a Process… &gt; explorer.exe</strong> a debugovanie môže začať.
WinDbg sleduje, čo sa deje v Prieskumníkovi a keď som klikol pravým na
cd-romku, hneď sa zastavil na výnimke:</p>

<div><img src="/weblog/media/2009/03/virtualcd9-crash-exception.png" alt=""
/></div>

<p>V Call Stacku bolo vidieť, že Virtual CD DLLka uvoľňovala pämať a
zrejme tam mali chybičku.</p>

<p>Odskúšal som si aj utilitu adplus.vbs, ktorá je súčasťou <a
href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx">Windows
Debugging Tools</a>. Tento skript pripojí debugger na existujúci proces (alebo
spustí nový proces) a zaznamenáva 1st a 2nd chance výnimky, ktoré nastanú
v programe, zaloguje ju a vytvorí memory dump z ktorého sa dajú vyčítať
veľmi cenné informácie.<br />
1st chance výnimka je taká, ktorá je v programe odchytená a viacej-menej si
s ňou dokáže poradiť.<br />
2nd chance výnimky sú všetký neodchytené výnimky a teda spôsobujú
ukončenie procesu.</p>

<pre><code>cscript adplus.vbs -crash -pn explorer.exe -o C:\dump</code></pre>

<p>Adplus.vbs zaznamenal do logu <strong>1st chance AccessViolation
exception</strong> v <strong>&lt;Unloaded_vc9ex­tse64.dll&gt;+0×5f84</strong>
a okamžite aj <strong>2nd chance AccessViolation exception</strong> čo
znamená, že tam je bug.</p>

<pre><code>--- 2nd chance AccessViolation exception ----
---------------------------------------------------------------

Call Site
&lt;Unloaded_vc9extse64.dll&gt;+0x5f84
0x1`00000000
0x7f24f90
0x4ded7a8
0x360033`00380033
0x7fe`00000037
&lt;Unloaded_vc9extse64.dll&gt;+0xf1c8</code></pre>

<p>Čo s takouto chybnou knižnicou? Virtual CD som používal v staršej
verzii, najnovšia 9.3.0 je opravená. Nie vždy však môže byť opravená
verzia dostupná. V takom prípade treba knižnicu zakázať napríklad pomocou
<a href="http://www.nirsoft.net/utils/shexview.html">ShellExView</a>. Veľmi
často podobné padanie spôsobujú staré DivX a xvid kodeky, keď vytvárajú
náhľady.</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/247/pripad-padajuceho-prieskumnika/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

