2009-07-23 12 views
5

Estoy trabajando en un proyecto multiproveedor y la aplicación que se está desarrollando es un iniciador a través de una aplicación iniciadora que pasa parámetros como el usuario conectado, su ubicación, etc. Ahora que depuro la aplicación que establece un punto de interrupción en el código que analiza los parámetros de entrada y asignar la variable de nombre de usuario mi nombre de usuario, etc.Visual Studio Debugger - Asignación automática de variables

pude difícil que el código, pero estos valores:

  • creo que esto es una mala práctica.
  • Me preocupa que el archivo se compruebe en nuestro VCS y tenga efectos desastrosos.
  • Múltiples desarrolladores están trabajando en el proyecto así que codificar mi nombre, asignaciones de ubicación, etc., no es realmente una opción.
  • No puedo hacer que el archivo sea de solo lectura ya que está en desarrollo activo y continuamente necesito obtener una versión actualizada de dicho archivo.

Mi pregunta es:

  • ¿Hay una manera integrada o una extensión para asignar automáticamente las variables de un valor en modo de depuración. En este momento, destaco la variable y escribo mi texto, ¿se puede automatizar?

Gracias de antemano

Respuesta

1

cuando golpeo situaciones como esta, por lo general una combinación de compilación condicional y la variable de entorno/llave del registro. Puede usar estos mecanismos de almacenamiento para alojar su información sin tener que codificarla en la aplicación.

#if DEBUG 
if (null != Environment.GetVariable("CUSTOM_INFO")) { 
    userName = Environment.GetVariable("CUSTOM_USERNAME"); 
    ... 
} 
#endif 

De esta manera no afectará a ningún otro desarrollador. A menos, por supuesto, que quieran lograr lo mismo.

0

Agregando a la respuesta de JaredPar, haga la clase parcial.

Esto le permitirá mantener actualizado el archivo principal (el que se ingresa). El otro archivo (el que contiene IF DEBUG) será local & no se marcará.

Espero que ayude.

0

Pregunta extraña. Se publicó hace mucho tiempo, pero los conceptos de pruebas unitarias y desarrollo basado en pruebas ya estaban bien establecidos en 2009. Con excelentes herramientas disponibles, como nunit y testdriven.net. Un depurador no es la herramienta adecuada para usar, solo produce canas.

+0

Eyeh, pero para ejecutar todo el sistema, insertando valores a medida que avanzas, los marcos de prueba tienden a no funcionar tan bien. O al menos ha sido mi impresión de que ese es el caso. Creo que uno podría hacer esto a través de puntos de interrupción condicionales, pero el depurador de Green Hills tiene un "punto de corte de salto" que le permite omitir partes del código o establecer condiciones cuando se alcanza el punto de interrupción. –

Cuestiones relacionadas