<?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/"
	>

<channel>
	<title>MatteoZan.it</title>
	<atom:link href="http://www.matteozan.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matteozan.it</link>
	<description>System going into sleep!</description>
	<pubDate>Mon, 12 Apr 2010 19:45:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Definizioni delle notazioni asintotiche più comuni</title>
		<link>http://www.matteozan.it/2009/10/31/definizioni-delle-notazioni-asintotiche-piu-comuni/</link>
		<comments>http://www.matteozan.it/2009/10/31/definizioni-delle-notazioni-asintotiche-piu-comuni/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 11:59:05 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[Notes]]></category>

		<category><![CDATA[algorithms]]></category>

		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=197</guid>
		<description><![CDATA[Molto in breve le tre definizioni essenziali di notazione asintotica.
Theta di n, Θ(n) , limite asintoticamente stretto
Θ(g(n))= { f(n) : esistono delle costanti positive c1, c2 e n0 tali che 0 ≤ c1g(n)  ≤ f(n) ≤ c2 g(n) per ogni n &#62;= n0}
O grande di n, O(n), limite asintotico superiore
O(g(n))= { f(n) : esistono [...]]]></description>
			<content:encoded><![CDATA[<p>Molto in breve le tre definizioni essenziali di notazione asintotica.</p>
<h2>Theta di n, Θ(n) , limite asintoticamente stretto</h2>
<p>Θ(<em>g</em>(n))= { <em>f</em>(n) : esistono delle costanti positive <em>c<sub>1</sub></em>, <em>c<sub>2</sub></em> e <em>n<sub>0</sub></em> tali che 0 ≤ <em>c<sub>1</sub>g</em>(n)  ≤ <em>f</em>(n) ≤ <em>c<sub>2</sub></em> g(n) per ogni <em>n</em> &gt;= <em>n<sub>0</sub></em>}</p>
<h2>O grande di n, O(n), limite asintotico superiore</h2>
<p>O(<em>g</em>(n))= { <em>f</em>(n) : esistono delle costanti positive <em>c</em> e <em>n<sub>0</sub></em> tali che 0 ≤ <em>f</em>(n) ≤ <em>c</em> g(n) per ogni <em>n</em> &gt;= <em>n<sub>0</sub></em>}</p>
<h2>Omega di n, Ω(n), limite asintotico inferiore</h2>
<p>Θ(<em>g</em>(n))= { <em>f</em>(n) : esistono delle costanti positive <em>c</em> e <em>n<sub>0</sub></em> tali che 0 ≤ <em>cg</em>(n)  ≤ <em>f</em>(n) per ogni <em>n</em> &gt;= <em>n<sub>0</sub></em>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/10/31/definizioni-delle-notazioni-asintotiche-piu-comuni/feed/</wfw:commentRss>
		</item>
		<item>
		<title>post da android</title>
		<link>http://www.matteozan.it/2009/08/29/post-da-android/</link>
		<comments>http://www.matteozan.it/2009/08/29/post-da-android/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 22:06:54 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/2009/08/29/post-da-android/</guid>
		<description><![CDATA[Primo post da un cellulare  però monta android 


   


]]></description>
			<content:encoded><![CDATA[<p>Primo post da un cellulare <img src='http://www.matteozan.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> però monta android <img src='http://www.matteozan.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
<div align="left"><br/><br />
<a href="http://www.matteozan.it/wp-content/uploads/wpid-69.jpg"><br />
   <img src="http://www.matteozan.it/wp-content/uploads/wpid-thumb-69.jpg" alt="thumbnail"/><br />
</a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/08/29/post-da-android/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Performance: CLI vs Win32 API</title>
		<link>http://www.matteozan.it/2009/05/25/performance_cli_win32/</link>
		<comments>http://www.matteozan.it/2009/05/25/performance_cli_win32/#comments</comments>
		<pubDate>Mon, 25 May 2009 22:24:23 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C++]]></category>

		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=171</guid>
		<description><![CDATA[In my little free time I develop some open source projects, for example my last creature is &#8220;Minimalistic Explorer&#8220;.  This project is made in C# WPF for the UI and actually core is written in C#, but I hope to port the existing core in C++/CLI.

The main task of this program is list files [...]]]></description>
			<content:encoded><![CDATA[<p>In my little free time I develop some open source projects, for example my last creature is &#8220;<a href="https://sourceforge.net/projects/minimalisticexp/" target="_blank">Minimalistic Explorer</a>&#8220;.  This project is made in C# WPF for the UI and actually core is written in C#, but I hope to port the existing core in C++/CLI.</p>
<p><a href="http://www.matteozan.it/wp-content/uploads/hd_me_735243.png"><img class="alignleft size-medium wp-image-174" title="hd_me_735243" src="http://www.matteozan.it/wp-content/uploads/hd_me_735243-300x187.png" alt="hd_me_735243" width="300" height="187" /></a></p>
<p><span id="more-171"></span>The main task of this program is list files and a common question is what is the better way to list all files/directories?</p>
<p>I have written a simple C++/CLI program that call DirectoryInfo::GetDirectories and FindFirstFile Win32 API method. At this point, I request to list all entry of &#8220;C:\Windows\winsxs&#8221; folder. This folder contains a lot of elements.</p>
<p>This is the results:</p>
<p><code><br />
Performance test<br />
.NET 00:00:00.1400080<br />
Count 6459<br />
Win32 00:00:00.0260015<br />
Count 6462</code></p>
<p>The first results is for .NET and the second is for Win32 API. This is an empirical test but the result can be a reflection point about performance consideration from C++ and .NET code.</p>
<p>Source code and executable can be download <a href="http://www.matteozan.it/wp-content/uploads/performancetestfilelist.zip">here</a>. Note:  The downloaded source/executable have a different output order, I have re-ordered the output to clarify the output.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/05/25/performance_cli_win32/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Snippet: Icon from shell to ImageSource with alpha channel</title>
		<link>http://www.matteozan.it/2009/05/21/icon-to-imagesource-alpha/</link>
		<comments>http://www.matteozan.it/2009/05/21/icon-to-imagesource-alpha/#comments</comments>
		<pubDate>Thu, 21 May 2009 20:30:41 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[snippet]]></category>

		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=164</guid>
		<description><![CDATA[The following code snippet performs the following task:

Get icon of the given file
Convert in a bitmap preserving the alpha channel
Convert it in a ImageSource

This code is shortcut to retrieve the displayed icon of a file. alternative way to do this is useing shell32.dll and SHGetFileInfo.
I have not used IconBitmapDecoder becuase this class lost the alpha [...]]]></description>
			<content:encoded><![CDATA[<p>The following code snippet performs the following task:</p>
<ol>
<li>Get icon of the given file</li>
<li>Convert in a bitmap preserving the alpha channel</li>
<li>Convert it in a ImageSource</li>
</ol>
<p>This code is shortcut to retrieve the displayed icon of a file. alternative way to do this is useing shell32.dll and <strong><a href="http://msdn.microsoft.com/en-us/library/bb762179(VS.85).aspx" target="_blank">SHGetFileInfo</a>.</strong></p>
<p>I have not used IconBitmapDecoder becuase this class lost the alpha channel.</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ --></p>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span><span class="kwrd">public</span> BitmapSource GetIconFromPath(<span class="kwrd">string</span> path)</pre>
<pre><span class="lnum">   2:  </span>{</pre>
<pre><span class="lnum">   3:  </span>    System.Drawing.Icon icon = System.Drawing.Icon.ExtractAssociatedIcon(path);</pre>
<pre><span class="lnum">   4:  </span>    System.Drawing.Bitmap bitmap = icon.ToBitmap();</pre>
<pre><span class="lnum">   5:  </span>    <span class="kwrd">return</span> System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(),</pre>
<pre><span class="lnum">   6:  </span>            IntPtr.Zero, System.Windows.Int32Rect.Empty,</pre>
<pre><span class="lnum">   7:  </span>            System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());</pre>
<pre><span class="lnum">   8:  </span>}</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/05/21/icon-to-imagesource-alpha/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dettaglio di un HD Fireball 30 GB</title>
		<link>http://www.matteozan.it/2009/04/19/dettaglio-di-un-hd-fireball-30-gb/</link>
		<comments>http://www.matteozan.it/2009/04/19/dettaglio-di-un-hd-fireball-30-gb/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 21:07:46 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[gentoo]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=157</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a title="detail" href="http://www.matteozan.it/wp-content/uploads/hd_fireball.jpg" target="_blank"><img class="aligncenter size-medium wp-image-156" title="hd_fireball" src="http://www.matteozan.it/wp-content/uploads/hd_fireball-300x171.jpg" alt="hd_fireball" width="300" height="171" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/04/19/dettaglio-di-un-hd-fireball-30-gb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Snippet: Enable Low Fragmentation Heap for all heaps</title>
		<link>http://www.matteozan.it/2009/02/23/snippet-enable-low-fragmentation-heap-for-all-heaps/</link>
		<comments>http://www.matteozan.it/2009/02/23/snippet-enable-low-fragmentation-heap-for-all-heaps/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 22:01:38 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=135</guid>
		<description><![CDATA[The following code is a code snippet that enable the Low Fragmentation Heap for all heaps. Remembers that a process has at last one heap but for example a CRT console application has practically at last two heaps. The first heap is default heap of process and the second is the CRT heap. If you [...]]]></description>
			<content:encoded><![CDATA[<p>The following code is a code snippet that enable the Low Fragmentation Heap for all heaps. Remembers that a process has at last one heap but for example a CRT console application has practically at last two heaps. The first heap is default heap of process and the second is the CRT heap. If you use a lot of external DLLs is very common that one of this DLL allocate a private heap.</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ --></p>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span><span class="rem">// code snippet that try to enable LFH for all heaps of your runnig program.</span></pre>
<pre><span class="lnum">   2:  </span>    HANDLE* hHeaps = NULL;</pre>
<pre><span class="lnum">   3:  </span>    <span class="kwrd">int</span> numHeap = GetProcessHeaps(0, NULL);</pre>
<pre><span class="lnum">   4:  </span>    <span class="kwrd">if</span>(numHeap &gt; 0)</pre>
<pre><span class="lnum">   5:  </span>    {</pre>
<pre><span class="lnum">   6:  </span>        ULONG ulEnableLFH = 2;</pre>
<pre><span class="lnum">   7:  </span>        hHeaps = (HANDLE*)malloc(<span class="kwrd">sizeof</span>(HANDLE)*numHeap);</pre>
<pre><span class="lnum">   8:  </span>        <span class="kwrd">if</span>(GetProcessHeaps(numHeap, hHeaps) == numHeap)</pre>
<pre><span class="lnum">   9:  </span>        {</pre>
<pre><span class="lnum">  10:  </span>            <span class="kwrd">for</span>(<span class="kwrd">int</span> i = 0; i &lt; numHeap; i++)</pre>
<pre><span class="lnum">  11:  </span>            {</pre>
<pre><span class="lnum">  12:  </span>                <span class="kwrd">if</span>(!HeapSetInformation(hHeaps[i], HeapCompatibilityInformation, &amp;ulEnableLFH, <span class="kwrd">sizeof</span>(ulEnableLFH)))</pre>
<pre><span class="lnum">  13:  </span>                {</pre>
<pre><span class="lnum">  14:  </span>                    printf(<span class="str">"Failed to enable LFH for heap %d."</span>, i);</pre>
<pre><span class="lnum">  15:  </span>                }</pre>
<pre><span class="lnum">  16:  </span>            }</pre>
<pre><span class="lnum">  17:  </span>        }</pre>
<pre><span class="lnum">  18:  </span>        <span class="kwrd">else</span></pre>
<pre><span class="lnum">  19:  </span>        {</pre>
<pre><span class="lnum">  20:  </span>            <span class="rem">// quite strange !!!</span></pre>
<pre><span class="lnum">  21:  </span>        }</pre>
<pre><span class="lnum">  22:  </span>        free(hHeaps);</pre>
<pre><span class="lnum">  23:  </span>    }</pre>
</div>
<p>Suggested reading <a href="http://www.amazon.com/Microsoft-Windows-Internals-4th-Server/dp/0735619174">Windows Internals 4th edition</a> for more details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/02/23/snippet-enable-low-fragmentation-heap-for-all-heaps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Analisi da riga di comando di un dump</title>
		<link>http://www.matteozan.it/2009/02/11/analisi-in-background-di-alcuni-dump/</link>
		<comments>http://www.matteozan.it/2009/02/11/analisi-in-background-di-alcuni-dump/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 21:20:48 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=123</guid>
		<description><![CDATA[Nell&#8217;ultimo week-end, un applicazione in sviluppo è terminata inaspettatamente un infinità di volta. Generando un gran numero di memory dump, tutti di dimensioni considerevoli. La domanda sorge spontanea.
Come posso analizzare tutti questi dump senza sprecare un sacco del mio tempo?

Riflettendo la soluzione si più tranquillamente avere  utilizando WinDbg e compagni (Debugging tools for Windows). Questa [...]]]></description>
			<content:encoded><![CDATA[<p>Nell&#8217;ultimo week-end, un applicazione in sviluppo è terminata inaspettatamente un infinità di volta. Generando un gran numero di memory dump, tutti di dimensioni considerevoli. La domanda sorge spontanea.<br />
Come posso analizzare tutti questi dump senza sprecare un sacco del mio tempo?</p>
<p><span id="more-123"></span></p>
<p>Riflettendo la soluzione si più tranquillamente avere  utilizando WinDbg e compagni (<a title="Debugging tools for Windows" href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" target="_blank">Debugging tools for Windows</a>). Questa fantastica suite di ostici ma potente tools per il debugging mettono a disposizione:</p>
<ul>
<li> cdb : un debugger per programmi nel user-space solo da riga di comando</li>
<li>kd: un debbuger per programmi in kernel-space solo da riga di comando</li>
<li>windbg: un fantastico debugger con un interfaccia odiosa, finche non ti innamori dei comandi che ti mette a disposizione.</li>
<li>Altro come dbgsrv, symsrv&#8230;</li>
</ul>
<p>Tornando all&#8217; analisi dei dump; dopo l&#8217; installazione ed aggiunta nel PATH la cartella di <a title="Debugging tools for Windows" href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" target="_blank">Debugging tools for Windows</a> (esempio: C:\Program Files\Debugging Tools for Windows (x86)), basta eseguire cdb con questi parametri:</p>
<p><span class="nfakPe">cdb</span> -y Crash1.pdb -i Crash1.exe -z Crash1.dmp -c &#8220;!analyze -v;q&#8221; &gt; resultAnalyze.txt</p>
<p>Descrizione dei parametri</p>
<ul>
<li>-y file.pdb: il pdb del programma, in caso di più di uno separato da punto e virgola &#8220;;&#8221;.</li>
<li>-i file.exe: l&#8217;immagine del programma</li>
<li>-z File.dmp: il dump da analizare.</li>
<li>-c &#8220;!analyze -v;q&#8221;: Una sequenza di comandi, &#8220;!analyze -v&#8221; analiza il dump e q termina il programma.</li>
<li>&gt; redirect.txt: il file dove viene dirottato l&#8217;output.</li>
</ul>
<p>Questo è un ottima partenza per uno script che mi digerisca tutti i file e ti generi per ogni dump un analisi come questa:<br />
<code>Microsoft (R) Windows Debugger Version 6.9.0003.113 X86<br />
Copyright (c) Microsoft Corporation. All rights reserved.</p>
<p>Loading Dump File [Crash1.dmp]<br />
User Mini Dump File with Full Memory: Only application data is available</p>
<p>Symbol search path is: Crash1.pdb;C:\symbols<br />
Executable search path is: Crash1.exe<br />
Windows XP Version 666 (Service Pack 6) MP (66 procs) Free x64 compatible<br />
Product: WinNt, suite: SingleUserTS<br />
Debug session time: Mon Feb  9 21:01:56.000 2009 (GMT+1)<br />
System Uptime: 0 days 0:28:19.394<br />
Process Uptime: 0 days 0:00:28.000<br />
&#8230;.<br />
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -<br />
This dump file has an exception of interest stored in it.<br />
The stored exception information can be accessed via .ecxr.<br />
(96c.970): Integer divide-by-zero - code c0000094 (first/second chance not available)<br />
eax=00000000 ebx=7ffde000 ecx=00000000 edx=00000000 esi=00000000 edi=0012ff68<br />
eip=004113a0 esp=0012fe84 ebp=0012ff68 iopl=0         nv up ei pl nz na pe nc<br />
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206<br />
*** WARNING: Unable to verify checksum for Crash1.exe<br />
Crash1!wmain+0&#215;30:<br />
004113a0 f77df8          idiv    eax,dword ptr [ebp-8] ss:0023:0012ff60=00000000<br />
0:000&gt; cdb: Reading initial command &#8216;!analyze -v;q&#8217;<br />
*******************************************************************************<br />
*                                                                             *<br />
*                        Exception Analysis                                   *<br />
*                                                                             *<br />
*******************************************************************************</p>
<p>*** ERROR: Symbol file could not be found.  Defaulted to export symbols for kernel32.dll -<br />
***** OS symbols are WRONG. Please fix symbols to do analysis.</p>
<p>*************************************************************************<br />
***                                                                   ***<br />
***                                                                   ***<br />
***    Your debugger is not using the correct symbols                 ***<br />
***                                                                   ***<br />
***    In order for this command to work properly, your symbol path   ***<br />
***    must point to .pdb files that have full type information.      ***<br />
***                                                                   ***<br />
***    Certain .pdb files (such as the public OS symbols) do not      ***<br />
***    contain the required information.  Contact the group that      ***<br />
***    provided you with these symbols if you need this command to    ***<br />
***    work.                                                          ***<br />
***                                                                   ***<br />
***    Type referenced: ntdll!_PEB                                    ***<br />
***                                                                   ***<br />
*************************************************************************<br />
*************************************************************************<br />
***                                                                   ***<br />
***                                                                   ***<br />
***    Your debugger is not using the correct symbols                 ***<br />
***                                                                   ***<br />
***    In order for this command to work properly, your symbol path   ***<br />
***    must point to .pdb files that have full type information.      ***<br />
***                                                                   ***<br />
***    Certain .pdb files (such as the public OS symbols) do not      ***<br />
***    contain the required information.  Contact the group that      ***<br />
***    provided you with these symbols if you need this command to    ***<br />
***    work.                                                          ***<br />
***                                                                   ***<br />
***    Type referenced: kernel32!pNlsUserInfo                         ***<br />
***                                                                   ***<br />
*************************************************************************<br />
*************************************************************************<br />
***                                                                   ***<br />
***                                                                   ***<br />
***    Your debugger is not using the correct symbols                 ***<br />
***                                                                   ***<br />
***    In order for this command to work properly, your symbol path   ***<br />
***    must point to .pdb files that have full type information.      ***<br />
***                                                                   ***<br />
***    Certain .pdb files (such as the public OS symbols) do not      ***<br />
***    contain the required information.  Contact the group that      ***<br />
***    provided you with these symbols if you need this command to    ***<br />
***    work.                                                          ***<br />
***                                                                   ***<br />
***    Type referenced: kernel32!pNlsUserInfo                         ***<br />
***                                                                   ***<br />
*************************************************************************</p>
<p>FAULTING_IP:<br />
Crash1!wmain+30<br />
004113a0 f77df8          idiv    eax,dword ptr [ebp-8]</p>
<p>EXCEPTION_RECORD:  ffffffff &#8212; (.exr 0xffffffffffffffff)<br />
ExceptionAddress: 004113a0 (Crash1!wmain+0&#215;00000030)<br />
ExceptionCode: c0000094 (Integer divide-by-zero)<br />
ExceptionFlags: 00000000<br />
NumberParameters: 0</p>
<p>DEFAULT_BUCKET_ID:  WRONG_SYMBOLS</p>
<p>PROCESS_NAME:  Crash1.exe</p>
<p>MODULE_NAME: Crash1</p>
<p>FAULTING_MODULE: 7c900000 ntdll</p>
<p>DEBUG_FLR_IMAGE_TIMESTAMP:  49908b97</p>
<p>ERROR_CODE: (NTSTATUS) 0xc0000094 - {EXCEPTION}  Integer division by zero.</p>
<p>FAULTING_THREAD:  00000970</p>
<p>PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS</p>
<p>BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS</p>
<p>LAST_CONTROL_TRANSFER:  from 00411718 to 004113a0</p>
<p>STACK_TEXT:<br />
0012ff68 00411718 00000001 00343250 00343320 Crash1!wmain+0&#215;30<br />
0012ffb8 0041155f 0012fff0 7c817067 055af9d4 Crash1!__tmainCRTStartup+0&#215;1a8<br />
0012ffc0 7c817067 055af9d4 00000000 7ffde000 Crash1!wmainCRTStartup+0xf<br />
WARNING: Stack unwind information not available. Following frames may be wrong.<br />
0012fff0 00000000 00411073 00000000 78746341 kernel32!RegisterWaitForInputIdle+0&#215;49</p>
<p>STACK_COMMAND:  ~0s; .ecxr ; kb</p>
<p>FOLLOWUP_IP:<br />
Crash1!wmain+30<br />
004113a0 f77df8          idiv    eax,dword ptr [ebp-8]</p>
<p>SYMBOL_STACK_INDEX:  0</p>
<p>SYMBOL_NAME:  Crash1!wmain+30</p>
<p>FOLLOWUP_NAME:  MachineOwner</p>
<p>IMAGE_NAME:  Crash1.exe</p>
<p>BUCKET_ID:  WRONG_SYMBOLS</p>
<p>FAILURE_BUCKET_ID:  WRONG_SYMBOLS_c0000094_Crash1.exe!base_address</p>
<p>Followup: MachineOwner<br />
&#8212;&#8212;&#8212;<br />
</code><br />
quit:<br />
Dopo una notte a macinare tutti i dump ho potuto velocemente guardali velocemente e identificare una serie di problemi invece del problema diagnosticabile coi primi dump.</p>
<p>Nota: I vari errori possono essere risolti con un la confiugrazione dei simboli pubblici di windows (http://support.microsoft.com/kb/311503).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2009/02/11/analisi-in-background-di-alcuni-dump/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Vista Recovery Disc</title>
		<link>http://www.matteozan.it/2008/12/29/windows-vista-recovery-disc-download/</link>
		<comments>http://www.matteozan.it/2008/12/29/windows-vista-recovery-disc-download/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 07:33:27 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=70</guid>
		<description><![CDATA[Vi segnalo questo interessante post:
http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/
Si tratta di un disco di 120 MB per poter eseguire il recovery di un installazione di Vista danneggiata. Purtroppo mi è capitato che si guastasse Vista (ma che strano  ) qualche file di configurazione ed il boot non era più praticabile, con questo CD ho potuto recuperare il mio [...]]]></description>
			<content:encoded><![CDATA[<p>Vi segnalo questo interessante post:</p>
<p><a title="http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/" href="http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/">http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/</a></p>
<p>Si tratta di un disco di 120 MB per poter eseguire il recovery di un installazione di Vista danneggiata. Purtroppo mi è capitato che si guastasse Vista (ma che strano <img src='http://www.matteozan.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ) qualche file di configurazione ed il boot non era più praticabile, con questo CD ho potuto recuperare il mio sistema senza troppa fatica.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2008/12/29/windows-vista-recovery-disc-download/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to use NtQuerySystemInformation</title>
		<link>http://www.matteozan.it/2008/12/27/ntquerysysteminformation/</link>
		<comments>http://www.matteozan.it/2008/12/27/ntquerysysteminformation/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 15:03:52 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=113</guid>
		<description><![CDATA[NtQuerySystemaInformation http://msdn.microsoft.com/en-us/library/ms724509(VS.85).aspx is useful undocumented and discouraged API of ntdll.dll. This API shouldn&#8217;t be used but in some case is a short way to get a lot information.
With this API you can make a lot of thinks but in this example is used to get some information about process.
This function should be linked at runtime, [...]]]></description>
			<content:encoded><![CDATA[<p>NtQuerySystemaInformation <a href="http://msdn.microsoft.com/en-us/library/ms724509(VS.85).aspx)">http://msdn.microsoft.com/en-us/library/ms724509(VS.85).aspx</a> is useful undocumented and discouraged API of ntdll.dll. This API shouldn&#8217;t be used but in some case is a short way to get a lot information.</p>
<p>With this API you can make a lot of thinks but in this example is used to get some information about process.<a href="http://www.matteozan.it/wp-content/uploads/2008/12/ntquerysysteminformationexample.zip"></a></p>
<p>This function should be linked at runtime, see more information at this link: <a href="http://msdn.microsoft.com/en-us/library/ms686944(VS.85).aspx)">http://msdn.microsoft.com/en-us/library/ms686944(VS.85).aspx</a>.</p>
<p>To invoke NtQuerySystemInformation you should pass the follow argument:</p>
<ul>
<li>Kind of information that you want  get, in this example the SystemProcessInformation.</li>
<li>Address of a chunk of memory to place all information.</li>
<li>Size of previous chunk of memory.</li>
<li>A integer passed by reference that will filled with the size of return value.</li>
</ul>
<p>Unfortunately size of second arguments isn&#8217;t know, a solution is pass a chunk of memory and if it is too small retry. This solution is possible because the NtQuerySystemInformation in case of a chunk of memory is too small it return a specific error code.</p>
<p>In this example enumerations and structures used by this program are placed in stdafx.h header file.</p>
<p>This example is written with Visual Studio 2008. <a title="Example" href="http://www.matteozan.it/wp-content/uploads/2008/12/ntquerysysteminformationexample.zip"></a></p>
<p><strong><a title="Example" href="http://www.matteozan.it/wp-content/uploads/2008/12/ntquerysysteminformationexample.zip">Download example</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2008/12/27/ntquerysysteminformation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>epiphany vuole mozilla-firefox?</title>
		<link>http://www.matteozan.it/2008/10/05/epiphany-vuole-mozilla-firefox/</link>
		<comments>http://www.matteozan.it/2008/10/05/epiphany-vuole-mozilla-firefox/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 10:39:42 +0000</pubDate>
		<dc:creator>Matteo Valdina</dc:creator>
		
		<category><![CDATA[gentoo]]></category>

		<guid isPermaLink="false">http://www.matteozan.it/?p=103</guid>
		<description><![CDATA[

Aggiornando gnome, mi sono stufato di veder installato l&#8217;ebuild mozilla-firefox invece di mozilla-firefox-bin.
Indagando su internet non ho trovato ma smanettando con emerge si capisce che firefox erà richiesto da epiphany. Guardando tra gli USE di questo pachetto ho visto xulrunner. Questo componente può fare le veci del amato mozilla-firefox e richedere un tempo di compilazione [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.matteozan.it/wp-content/uploads/2008/10/screenshot-rootnoire-home-zan.png"><img class="aligncenter size-medium wp-image-105" title="screenshot-rootnoire-home-zan" src="http://www.matteozan.it/wp-content/uploads/2008/10/screenshot-rootnoire-home-zan-300x287.png" alt="" width="300" height="287" /></a></p>
<p><span id="more-103"></span></p>
<p>Aggiornando gnome, mi sono stufato di veder installato l&#8217;ebuild mozilla-firefox invece di mozilla-firefox-bin.</p>
<p>Indagando su internet non ho trovato ma smanettando con emerge si capisce che firefox erà richiesto da epiphany. Guardando tra gli USE di questo pachetto ho visto xulrunner. Questo componente può fare le veci del amato mozilla-firefox e richedere un tempo di compilazione nettamente inferiore.<br />
Quindi basta aggiungere questa USE nel make.conf (questo fastidio c&#8217;è anche su altri componenti) e il fastidio se ne va :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matteozan.it/2008/10/05/epiphany-vuole-mozilla-firefox/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
