´

February 2012 - Artículos

El caso de los volcados de memoria en Windows Server 2008 R2 con adplus.vbs

 

Artículo tomado de http://juank.black-byte.com/varios/uncategorized-volcados-memoria-server-2008-r2-adplus/

El caso de los volcados de memoria en Windows Server 2008 R2 con adplus.vbs

----------

Hace tiempos que no necesitaba hacer una sesión de depuración, y esta vez realizando consultoria con uno de mis clientes me reportaron un problema ejecutando adplus.vbs.

Lo primero que me encontré es que adplus.vbs ahora fue reemplazado con adplus_old.vbs ya que en su lugar hay una nueva versión de adplus que es un .exe que se ejecuta con powershell. Eso ya es una tarea para aprender.

Sin embargo una vez subsanado esto me di cuenta que tampoco funcionaba, al tratar de generar el volcado ejecute esta instrucción arrojándome el resultado que se ve a continuación:

adplus_old.vbs -hang -pn w3wp.exe -o c:\volcado

Attaching the debugger to: W3WP.EXE_-DefaultAppPool-_-v_-v2.0-_-l_-webengine4.dll-_-a_-.-pipe-iisipm06ba2546-4f31-46b0-8 953-d2ce72ddb19e_-h_-C-inetpub-temp-apppools-DefaultAppPool-DefaultAppPool.config-_-w_–_-m_0_-t_20 (Process ID: 1008) Error creating file: c:\volcado\Hang_Mode__Date_02-07-2012__Time_09-51-11m.\CDBScripts\PID-1008__W3WP.EXE_-DefaultAppPoo l-_-v_-v2.0-_-l_-webengine4.dll-_-a_-.-pipe-iisipm06ba2546-4f31-46b0-8953-d2ce72ddb19e_-h_-C-inetpub-temp-apppools-Defau ltAppPool-DefaultAppPool.config-_-w_–_-m_0_-t_20.cfg Error: 76 – Ruta de acceso no encontrada

Se me hizo raro, verifique que el directorio al que hacia referencia existiera y que tuviese los persmisos necesarios, y todo esraba OK.

Digamos que me quede barado, pero decidí hecharle un vistazo al código, pues adplus es un archivo .vbs ( visual basic script ), así que no debería ser muy complicado.

Me detuve a analizar el error y vi "Attaching the debugger to:" lo cual esta un poco antes de "Error creating file:" así que abri el archivo adplus_old.vbs desde el editor y busqué ese trozo de código

Todo parecia normal, no encontraba nada en el código que mmostrara un error. Así que regrese al nombre del archivo demasiado largo se veia, eso si. Conte los caracteres y el resultado fué 273… OOOOps se supone que el path máximo son 255 caracteres, así que decidí acortar el path.

La ruta a la carpeta no la puedo modificar, debe ser tan autonoma como sea posible, pero el nombre del paquete si lo puedo modificar, y es fácil hacerlo ya que justo despues de "Attaching the debugger to:" se hace referencia a strPackageNamesimplemente lo deje de 25 caracteres ya que está demasiado grande.

Así que inmediatamente despues de "Attaching the debugger to:" adicione este trozo de código:

1
2
3
If LEN(strPackageName)>25 then
    strPackageName=LEFT(strPackageName,25)
End If

Procedí a ejecutar nuevamente el proceso y…. Funciona todo OK

Attaching the debugger to: W3WP.EXE_-DefaultAppPool-_-v_-v2.0-_-l_-webengine4.dll-_-a_-.-pipe-iisipmdd4ec914-7997-4b58-9
2ec-330e042592d7_-h_-C-inetpub-temp-apppools-DefaultAppPool-DefaultAppPool.config-_-w_–_-m_0_-t_20
(Process ID: 2764)

 

Caso Cerrado!