Processing math: 100%

26 votos

¿Por qué no se puede "golpear" el breakpoint al depurar un complemento de ArcGIS 10?

De vez en cuando me encuentro con el siguiente problema:

Empiezo a depurar el Add-In y los breakpoints son ignorados. Casi parece que la comunicación entre el IDE y el componente no funciona.

Mi problema es que la última vez que me pasó esto lo solucioné y ahora no recuerdo qué hice para solucionarlo.

El breakpoint no será alcanzado. No se han cargado símbolos para el documento. enter image description here

En parte, el problema que tengo ya está descrito aquí pero no hay solución para el mal funcionamiento real del punto de ruptura.

Tenga en cuenta que esto funciona normalmente.

Borrar el contenedor y el objeto no parece funcionar.

Esta vez he restaurado todo el proyecto desde la copia de seguridad y he vuelto a empezar, pero me gustaría saber cómo solucionarlo en caso de que me vuelva a ocurrir.

2voto

saint_groceon Puntos 2696

Con Visual Studio, he creado un nuevo complemento para Arcmap y le he añadido un botón y una barra de herramientas. Resultando en un archivo de configuración con este aspecto:

<ESRI.Configuration xmlns="http://schemas.esri.com/Desktop/AddIns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Name>ArcMapAddin4</Name>
  <AddInID>{b6b350bb-084d-42b8-a44a-6dbb6a9f5906}</AddInID>
  <Description>Type in a description for this Add-in.</Description>
  <Version>1.0</Version>
  <Image>Images\ArcMapAddin4.png</Image>
  <Author>Kirk</Author>
  <Company>Microsoft</Company>
  <Date>8/15/2011</Date>
  <Targets>
    <Target name="Desktop" version="10.0" />
  </Targets>
  <AddIn language="CLR" library="ArcMapAddin4.dll" namespace="ArcMapAddin4">
    <ArcMap>
      <Toolbars>
        <Toolbar id="MyToolbar4" caption="MyToolbar4" showInitially="true">
          <Items>
            <Button refID="Microsoft_ArcMapAddin4_Button1"/>
          </Items>
        </Toolbar>
      </Toolbars>
      <Commands>
        <Button id="Microsoft_ArcMapAddin4_Button1" class="Button1" message="Add-in command generated by Visual Studio project wizard." caption="My Button" tip="Add-in command tooltip." category="Add-In Controls" image="Images\Button1.png" />
      </Commands>
    </ArcMap>
  </AddIn>
</ESRI.Configuration>

He creado algo de código en el constructor del botón y le he puesto un breakpoint. Empecé en modo depuración y veo que el ensamblado aún no se ha cargado:

enter image description here

He cambiado el botón para incluir onDemand=false:

enter image description here

Cuando volví a iniciar arcmap, llegó al punto de ruptura. Tenga en cuenta que si la barra de herramientas está apagado en el inicio que tendría que hacer visible para hacer que el constructor de botón para ser llamado - por lo que en cierto modo todavía está en la demanda.

2voto

penner Puntos 261

Para los que tienen como objetivo .Net 4.0 Framework, lo siguiente funcionó para mí.

  1. Según muchas sugerencias, modifique ArcMap.exe.config y ArcCatalog.exe.config para adaptarlos a la versión 4.0.
    <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0.30319"/> <!--supportedRuntime version="v2.0.50727"/--> </startup>
    Por alguna razón ArcCatalog.exe.config aparece bloqueado para modificarlo. Conseguí alrededor de él copiando y modificándolo en otro directorio y después substituyéndolo.
  2. A continuación, en el archivo Config.esriaddinx, cambie el idioma del Addin a "CLR4.0"

2voto

Developer Puntos 251

Yo estaba tratando con el mismo problema, con mi propio complemento en totalmente otro tema, y me inevstigated los siguientes:

Al principio, inicie la depuración y en el menú elija la siguiente ventana Depuración >> Ventanas >> Módulos, donde puede ver qué módulos se cargaron al iniciar la depuración. Si no puedes ver allí el yourAddIn.dll entonces al menos sabes que no fue cargado por el estudio. Si lo ves ahí y no puedes poner el breakpoint ahí entonces el Studio cargó uno antiguo. Para comprobarlo, cambia el nombre del ensamblado en las propiedades del proyecto, reconstruye la solución, inicia la depuración y verás la dll antigua cargada allí. No se de donde carga el studio esta dll antigua.

Vaya al Explorador de soluciones y compare los archivos "yourAddIn.Addin" y "yourAddIn - For Testing.AddIn", ya que pueden diferir. El estudio sólo utiliza el segundo archivo en su Administrador de complementos. Al principio cambie también la etiqueta en él para hacer referencia a la dll correcta y puede comprobar la etiqueta también. En mi caso, la etiqueta estaba en 0 en el archivo "yourAddIn - For Testing.AddIn", así que la cambié de nuevo a 1. (Si borras el directorio bin de tu add-in e inicias el Studio, te preguntará si quieres eliminar este add-in de tu lista de add-ins). En este punto el Studio establece el LoadBehavior a 0).

Después de estos dos cambios empezó a funcionar de nuevo.

2voto

Reena Puntos 36

Después de migrar un proyecto de ESRI ArcGIS 10 de una máquina a la otra, me encontré con el error de que la máquina no podía cargar los archivos .pdb de depuración para ArcMap.exe. He intentado todos los consejos en este post sin suerte.

Entonces hice lo siguiente:

He borrado las referencias de todas las bibliotecas Esri.* en cada proyecto que las contenía y las he vuelto a añadir al proyecto en la nueva máquina.

Esto es lo que finalmente funcionó para mí. Si alguien se tropieza aquí con este problema vago, y ha intentado todo lo demás que figuran en esta página, pruebe esto - es rápido y fácil y bastante inofensivo. No estoy del todo seguro de por qué había que hacer esto, supongo que tiene que ver con la búsqueda de las bibliotecas por máquina.

Esto era para un proyecto que utilizaba BaseCommands / Toolbars, y no los nuevos Add-Ins. Utilizando ArcGIS 10.0 y .NET 3.5 con Visual Studio 2010 en Windows 7 Pro.

2voto

interstar Puntos 4118

Tuve que cambiar mi addin para arcCatalog para que coincida con el uso de framework 4 con la nueva versión 10.1 de ArcCatalog.
Acabo de comentar la version="v2.0.50727" y descomentar "v4.0.30319".

En C:\Program Archivos (x86) \ArcGIS\Desktop10.1\bin el archivo de configuración xml de ArcCatlog.exe

se detiene en el punto de ruptura ahora

Parece ser el mismo problema con arcmap

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X