Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Symptomer

Når du skriver inn objektnavnet i et objekt som befinner seg på en fast adresse i overvåkingsvinduet i Visual Studio feilsøkingsprogram , får du en melding som ligner på følgende:

ID- Objekt_navn er ikke definert

Dette problemet kan for eksempel gjengis ved kompilering og kjøring av følgende kode i et x86-basert system:

Relocate.asm
      .586
      .MODEL FLAT
      PUBLIC _fixed_struct
      _fixed_struct = 04000000h
      END

Main.cpp
#include <Windows.h>

#define SHM_ADDRESS 0x04000000
#define SHM_SIZE_BYTES 1024
#define SHM_NAME L"TEST_NAME"

extern "C"
{
   extern struct fixed_struct_type {
      int a;
      int b;
      int c;
   } fixed_struct;
}

void AttachShm()
{
   HANDLE mapfile = CreateFileMapping(
      INVALID_HANDLE_VALUE,  // current file handle (use System page file)
      NULL,                  // default security (not inheritable)
      PAGE_READWRITE,        // read/write permission
      0,                     // size of File (high-order doubleword)
      SHM_SIZE_BYTES,        // size of File (low-order doubleword)
      SHM_NAME);             // name of mapping object

   MapViewOfFileEx(
      mapfile,               // handle to mapping object
      FILE_MAP_ALL_ACCESS,   // read/write permission
      0,                     // address offset (high-order doubleword)
      0,                     // address offset (low-order doubleword)
      SHM_SIZE_BYTES,        // size of common block
      (LPVOID)SHM_ADDRESS);  // suggested starting address
}

int main(int argc, char* argv[])
{
   AttachShm();

   fixed_struct.a = 30;
   
   // Put a breakpoint on the next line, view fixed_struct.a in watch window
   return 0;
}

Årsak

I tidligere versjoner av Visual Studio brukes feilsøkingsprogrammet relative adresser i stedet for absolutte adresser til alle variabler. Dette førte til variabler som er plassert på faste adresser som ikke skal finnes i live adresseområder for gjeldende bunke ramme.

Løsning

Denne reparasjonen gjelder bare for Visual Studio 2015 Update 3. Hvis du vil vise absolutte adresser, må du bruke Visual Studio 2015 oppdatering 3 eller senere.

Hurtigreparasjonen er tilgjengelig for nedlasting fra Microsoft Download Center:

Last ned hurtigreparasjonen nå.

Microsoft har søkt etter virus i denne filen ved hjelp av det nyeste antivirusprogrammet som var tilgjengelig datoen filen ble gjort. Filen lagres på sikkerhetsforbedrede servere som bidrar til å hindre uautoriserte endringer.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×