<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>El equipo de soporte de SharePoint en España habla MOSS : process monitor</title><link>http://blogs.technet.com/hablamoss/archive/tags/process+monitor/default.aspx</link><description>Tags: process monitor</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>El día que conocí a Mark</title><link>http://blogs.technet.com/hablamoss/archive/2008/11/10/x.aspx</link><pubDate>Mon, 10 Nov 2008 11:52:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3150319</guid><dc:creator>hablamoss</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/hablamoss/comments/3150319.aspx</comments><wfw:commentRss>http://blogs.technet.com/hablamoss/commentrss.aspx?PostID=3150319</wfw:commentRss><description>&lt;P&gt;Hola a tod@s, mi nombre es Juan Manuel Castro (Juancho para los amigos :-) ) y también formo parte de este equipo de soporte. Estas 2 últimas semanas han sido muy especiales para mi ya que en la primera tuve la oportunidad de asistir a un excelente curso de depuración para SharePoint y esta segunda he estado en el &lt;A title="TechEd para IT Pro" href="http://www.microsoft.com/emea/teched2008/itpro/default.aspx" mce_href="http://www.microsoft.com/emea/teched2008/itpro/default.aspx"&gt;TechEd para IT Pro&lt;/A&gt; que se celebró en Barcelona donde además de aprender un montón de cosas nuevas he podido conocer a uno de los grandes ídolos de quienes nos dedicamos al soporte, &lt;A title="Mark Russinovich" href="http://blogs.technet.com/markrussinovich/" mce_href="http://blogs.technet.com/markrussinovich/"&gt;Mark Russinovich&lt;/A&gt;. Para quienes no le conozcan el fue quien diseño herramientas tan importantes como &lt;A title="Process Explorer" href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;Process Explorer&lt;/A&gt;, &lt;A title="Process Monitor" href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/A&gt; o &lt;A title=TCPView href="http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx"&gt;TCPView&lt;/A&gt; entre muchas otras además de los libros como&amp;nbsp;&lt;A title="Windows Internals" href="http://www.microsoft.com/mspress/books/6710.aspx" mce_href="http://www.microsoft.com/mspress/books/6710.aspx"&gt;Windows Internals&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A title=Mark target=_blank href="http://img255.imageshack.us/img255/9122/markbigdx5.png" mce_href="http://img255.imageshack.us/img255/9122/markbigdx5.png"&gt;&lt;IMG style="WIDTH: 150px; HEIGHT: 150px" title=Mark border=0 hspace=0 alt=Mark src="http://img255.imageshack.us/img255/9122/markbigdx5.th.png" width=150 height=150 mce_src="http://img255.imageshack.us/img255/9122/markbigdx5.th.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;A title=Mark target=_blank href="http://img363.imageshack.us/img363/5164/markprocmonbigxl7.png" mce_href="http://img363.imageshack.us/img363/5164/markprocmonbigxl7.png"&gt;&lt;IMG style="WIDTH: 150px; HEIGHT: 150px" title=Mark border=0 hspace=0 alt=Mark src="http://img363.imageshack.us/img363/5164/markprocmonbigxl7.th.png" width=150 height=150 mce_src="http://img363.imageshack.us/img363/5164/markprocmonbigxl7.th.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;A title="Mark &amp;amp; Yo" target=_blank href="http://img88.imageshack.us/img88/8840/markjuanchobignc2.png" mce_href="http://img88.imageshack.us/img88/8840/markjuanchobignc2.png"&gt;&lt;IMG style="WIDTH: 150px; HEIGHT: 150px" title="Mark &amp;amp; Yo" border=0 hspace=0 alt="Mark &amp;amp; Yo" src="http://img88.imageshack.us/img88/8840/markjuanchobignc2.th.png" width=150 height=150 mce_src="http://img88.imageshack.us/img88/8840/markjuanchobignc2.th.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Durante una de sus Charlas Mark contó como resolvió unos cuantos casos&amp;nbsp;utilizando principalmente las herramientas desarrolladas por el e internet. De las herramientas utilizadas en esos casos me gustaría destacar una de ellas llamada &lt;A title="Process Monitor" href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/A&gt; la cual nos sirve para, como dice su nombre, monitorizar la activdad de un proceso, en especial los accesos a disco duro y al registro que hace el mismo. (Esta herramienta es la unión del antiguo &lt;A title=FileMon href="http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx"&gt;FileMon&lt;/A&gt; y &lt;A title=http://technet.microsoft.com/en-us/sysinternals/bb896652.aspx href="http://technet.microsoft.com/en-us/sysinternals/bb896652.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896652.aspx"&gt;RegMon&lt;/A&gt; los cuales nos siguen siendo de utilidad en sistemas operativos antiguos que no están soportados por Process Monitor)&lt;/P&gt;
&lt;P&gt;Lo primero que tenemos que saber es cuándo puede sernos útil utilizar Process Monitor, estas situaciones son por ejemplo al obtener mensajes del tipo acceso denegado, &lt;A title="archivo no encontrado" href="http://es.wikipedia.org/wiki/Error_404" mce_href="http://es.wikipedia.org/wiki/Error_404"&gt;archivo no encontrado&lt;/A&gt; o más en general cuando sospechemos que el problema puede estar en la estructura de archivos o el registro de windows.,&lt;/P&gt;
&lt;P&gt;Una vez iniciado process monitor aparecerá una ventana como la siguiente en la que empiezan a quedar registrados gran cantidad de eventos.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 219px" title=ProcMon border=0 hspace=0 alt=ProcMon src="http://img511.imageshack.us/img511/4986/procmonpw8.png" width=500 height=219 mce_src="http://img511.imageshack.us/img511/4986/procmonpw8.png"&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;En general nos interesará detener la captura de eventos ya que los habilitaremos (Ctrl+E o click en la lupa) solo mientras reproducimos el problema.&lt;/P&gt;
&lt;P&gt;Me parece que la mejor forma de demostrar la potencia y utilidad de esta herramiente es mediante un ejemplo, por ejemplo, supongamos que tenemos una página web que cuando la accedemos obtenemos un mensaje de error que dice: "Ha ocurrido un error accediendo al archivo", dicho mensaje no nos dice que archivo es el que se ha intentado acceder y por tanto no podemos solucionar el error. En este ejemplo utilizaremos Process Monitor para intentar averiguar dicho archivo.&lt;/P&gt;
&lt;P&gt;Para ello hemos creado un pequeño código para producir este error el cual reproducimos a continuación. Tened en cuenta que normalmente no disponemos de acceso al código fuente y el hecho de ver el archivo que se ha intentado acceder en el código no es una alternativa posible.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR&gt;&lt;EM&gt;&amp;nbsp;public partial class pgDefault : System.Web.UI.Page&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.WriteFile("C:\\FicheroInexistente.txt");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write("Ha ocurrido un error accediendo al archivo");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Una vez iniciado Process Monitor reproducimos el problema y cuando obtenemos el mensaje de error detenemos la captura (Ctrl+E).&lt;BR&gt;Dada la gran cantidad de eventos que hemos registrado hemos de empezar a aplicar filtros para centrarnos en el que nos ocupa, para ello primero filtraremos por el &lt;A title="identificador de proceso" href="http://es.wikipedia.org/wiki/Identificador_de_proceso" mce_href="http://es.wikipedia.org/wiki/Identificador_de_proceso"&gt;identificador de proceso&lt;/A&gt; (PID) del proceso que procesó la página web. En Internet Information Server 6 (IIS) y posteriores dicho proceso es el &lt;A title=w3wp.exe href="http://technet.microsoft.com/en-us/magazine/cc161040.aspx" mce_href="http://technet.microsoft.com/en-us/magazine/cc161040.aspx"&gt;w3wp.exe&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;NOTA: En caso que tengamos más de un web activo alojado en la misma máquina podemos utilizar &lt;A title=IISAPP href="http://technet2.microsoft.com/windowsserver/es/library/30b55aee-c3a4-402a-a98b-46fc194299ec3082.mspx?mfr=true" mce_href="http://technet2.microsoft.com/windowsserver/es/library/30b55aee-c3a4-402a-a98b-46fc194299ec3082.mspx?mfr=true"&gt;IISAPP&lt;/A&gt; para obtener el PID del w3wp.exe que nos interesa.&lt;/P&gt;
&lt;P&gt;En nuestro caso el PID es 6408, haremos click en el menú Filter opción Filter… (o Ctrl+L)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 512px; HEIGHT: 324px" title=ProcMon border=0 hspace=0 alt=ProcMon src="http://img119.imageshack.us/img119/8620/procmon2pq2.png" width=512 height=324 mce_src="http://img119.imageshack.us/img119/8620/procmon2pq2.png"&gt;&lt;/P&gt;
&lt;P&gt;Una vez hecho esto pulsamos Add y luego OK&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 509px; HEIGHT: 190px" title=ProcMon border=0 hspace=0 alt=ProcMon src="http://img151.imageshack.us/img151/7990/procmon3ur7.png" width=509 height=190 mce_src="http://img151.imageshack.us/img151/7990/procmon3ur7.png"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Al ir aplicando filtros reduciremos la lista de eventos hasta llegar a los que realmente nos afectan, en este ejemplo vemos que hemos podido identificar el archivo al que no podíamos acceder C:\FicheroInexistente.txt&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 1610px; HEIGHT: 125px" title=ProcMon border=0 hspace=0 alt=ProcMon src="http://img370.imageshack.us/img370/7440/procmon4do7.png" width=1610 height=125 mce_src="http://img370.imageshack.us/img370/7440/procmon4do7.png"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Tan solo nos queda ver porque ese fichero no está en su sitio para solucionar el problema.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Adicionalmente comentar que podemos guardar los registros de eventos para que sean analizados posteriormente o en otra máquina, &lt;/P&gt;
&lt;P mce_keep="true"&gt;Espero que os haya sido de utilidad este post y para aquellos que no conozcan las utilidades de &lt;A title="sysinternals " href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/default.aspx"&gt;sysinternals&lt;/A&gt; es mas que recomendable que le echeis un vistazo ya que nos ayudan a solucionar más de un problema.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Un saludo,&lt;/P&gt;
&lt;P mce_keep="true"&gt;Juancho&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3150319" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/hablamoss/archive/tags/process+monitor/default.aspx">process monitor</category><category domain="http://blogs.technet.com/hablamoss/archive/tags/teched/default.aspx">teched</category></item></channel></rss>