Come segnalare un problema con il set di strumenti Visual C++ o la documentazioneHow to report a problem with the Visual C++ toolset or documentation

Se si riscontrano problemi con il compilatore, il linker o altri strumenti e librerie di Microsoft Visual C++ è necessario inviare una segnalazione a Microsoft.If you encounter problems with the Microsoft Visual C++ compiler, linker, or other tools and libraries, we want to know about them. Anche se il problema è riguarda la documentazione, è opportuno riportarlo.If the issue is in our documentation, we want to know about that, too.

Come segnalare un problema con il set di strumenti C++How to report a C++ toolset issue

Il modo migliore per segnalare un problema è inviare un report con una descrizione del problema riscontrato, informazioni dettagliate su come viene compilato il programma e una procedura di riproduzione, vale a dire un test case per riprodurre il problema nei computer Microsoft.The best way to let us know about a problem is to send us a report that includes a description of the problem you've encountered, details about how you're building your program, and a repro, a complete test case we can use to reproduce the problem on our own machines. In questo modo è possibile verificare rapidamente se il problema riguarda il codice Microsoft e non l'ambiente locale, determinare se ha effetto su altre versioni del compilatore e diagnosticarne la causa.This information lets us quickly verify that the problem exists in our code and is not local to your environment, to determine whether it affects other versions of the compiler, and to diagnose its cause.

Nelle sezioni riportate di seguito viene spiegato cosa costituisce un buon report, come generare una ripetizione per il tipo di problema individuato e come inviare il report al team di prodotto.In the sections below, you'll read about what makes a good report, how to generate a repro for the kind of issue you've found, and how to send your report to the product team. I report sono strumenti importanti per tutti gli sviluppatori.Your reports are important to us and to other developers like you. Grazie per contribuire a migliorare Visual C++.Thank you for helping us improve Visual C++!

Come preparare il reportHow to prepare your report

È importante creare un report esaustivo in quanto è molto difficile riprodurre il problema riscontrato nei computer Microsoft senza avere informazioni complete.Creating a high-quality report is important because it is very difficult to reproduce the problem you encountered on our own machines without complete information. Più il report è completo, più alta è la probabilità che si possa ricreare il problema ed eseguire la diagnosi.The better your report is, the more effectively we are able recreate and diagnose the problem.

Il report deve contenere almeno le informazioni seguentiAt a minimum, your report should contain

  • Informazioni complete sulla versione del set di strumenti usata.The full version information of the toolset you're using.

  • L'intera riga di comando cl.exe usata per compilare il codice.The full cl.exe command line used to build your code.

  • Una descrizione dettagliata del problema riscontrato.A detailed description of the problem you encountered.

  • Una procedura di riproduzione: un esempio di codice sorgente completo, semplificato e indipendente, che illustra il problema.A repro: a complete, simplified, self-contained source code example that demonstrates the problem.

Continuare a leggere per sapere dove trovare le informazioni specifiche necessarie e come creare una procedura di riproduzione del problema esaustiva.Read on to learn more about the specific information we need and where you can find it, and how to create a good repro.

Versione del set di strumentiThe toolset version

È necessario comunicare la versione completa del set di strumenti e la relativa architettura di destinazione che causa il problema in modo che sia possibile testare la procedura di riproduzione usando lo stesso set di strumenti nei computer Microsoft.We need the full version information and the target architecture of the toolset that causes the problem so that we can test your repro against the same toolset on our machines. Se il problema può essere riprodotto, queste informazioni rappresentano anche un punto di partenza per capire quali altre versioni del set di strumenti presentano lo stesso problema.If we can reproduce the problem, this information also gives us a starting point to investigate which other versions of the toolset exhibit the same problem.

Per segnalare la versione completa del compilatore in usoTo report the full version of the compiler you're using

  1. Aprire il prompt dei comandi per gli sviluppatori corrispondente alla versione di Visual Studio e all'architettura di configurazione usata per compilare il progetto.Open the Developer Command Prompt that matches the Visual Studio version and configuration architecture used to build your project. Ad esempio, se si usa Visual Studio 2017 in computer x64 per computer di destinazione x64, scegliere Prompt dei comandi degli strumenti nativi x64 per VS 2017.For example, if you build by using Visual Studio 2017 on x64 for x64 targets, choose x64 Native Tools Command Prompt for VS 2017. Per altre informazioni, vedere Collegamenti al prompt dei comandi per gli sviluppatori.For more information, see Developer command prompt shortcuts.

  2. Nella finestra della console del prompt dei comandi per gli sviluppatori immettere il comando cl /Bv.In the developer command prompt console window, enter the command cl /Bv.

L'output sarà simile al seguente:The output should look similar to this:

C:\Users\username\Source>cl /Bv
Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26428.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Compiler Passes:
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\cl.exe:        Version 19.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c1.dll:        Version 19.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c1xx.dll:      Version 19.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c2.dll:        Version 19.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\link.exe:      Version 14.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\mspdb140.dll:  Version 14.14.26428.1
 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\1033\clui.dll: Version 19.14.26428.1

cl : Command line error D8003 : missing source filename

Copiare e incollare l'intero output nel report.Copy and paste the entire output into your report.

Riga di comandoThe command line

È necessario specificare l'esatta riga di comando (cl.exe e tutti i relativi argomenti) che l'utente ha usato per compilare il codice in modo che sia possibile compilare il codice nello stesso modo nei computer Microsoft.We need the exact command line (cl.exe and all of its arguments) used to build your code, so that we can build it in exactly the same way on our machines. Questo passaggio è importante perché il problema riscontrato potrebbe verificarsi solo quando si compila un determinato argomento o una combinazione di argomenti.This is important because the problem you've encountered might only exist when building with a certain argument or combination of arguments.

Per trovare facilmente queste informazioni, vedere il log di compilazione immediatamente dopo che si è verificato il problema.The best place to find this information is in the build log immediately after experiencing the problem. La riga di comando conterrà quindi esattamente gli stessi argomenti che potrebbero essere la causa del problema.This ensures that the command line contains exactly the same arguments that might be contributing to the problem.

Per segnalare i contenuti della riga di comandoTo report the contents of the command line

  1. Individuare il file CL.command.1.tlog e aprirlo.Locate the CL.command.1.tlog file and open it. Per impostazione predefinita, questo file si trova nella cartella Documenti in \Visual Studio versione\Progetti\NomeSoluzione\NomeProgetto\Configurazione\NomeProgettoTLOG\CL.command.1.tlog, o nella cartella Utente in \Origine\Repository\NomeSoluzione\NomeProgetto\Configurazione\NomeProgettoTLOG\CL.command.1.tlog.By default, this file is located in your Documents folder in \Visual Studio version\Projects\SolutionName\ProjectName\Configuration\ProjectName.tlog\CL.command.1.tlog, or in your User folder under \Source\Repos\SolutionName\ProjectName\Configuration\ProjectName.tlog\CL.command.1.tlog. Se si usa un altro sistema di compilazione o se è stato modificato il percorso predefinito per il progetto, il file può trovarsi in una posizione diversa.It may be in a different location if you use another build system or if you have changed the default location for your project.

    Il file contiene i nomi dei file del codice sorgente seguiti dagli argomenti della riga di comando usati per la compilazione, disposti su singole righe.Inside this file, you'll find the names of source code files followed by the command line arguments used to compile them, each on separate lines.

  2. Individuare la riga che contiene il nome del file del codice sorgente in cui si verifica il problema. La riga sottostante contiene gli argomenti del comando cl.exe corrispondenti.Locate the line that contains the name of the source code file where the problem occurs; the line below it contains the corresponding cl.exe command arguments.

Copiare e incollare l'intera riga di comando nel report.Copy and paste the entire command line into your report.

Descrizione del problemaA description of the problem

Per poter visualizzare lo stesso errore che si verifica nei computer utente, è necessario specificare una descrizione dettagliata del problema riscontrato. È talvolta utile anche sapere cosa si stava eseguendo e cosa si prevedeva come risultato.We need a detailed description of the problem you've encountered so that we can verify that we see the same effect on our machines; its also sometimes useful for us to know what you were trying to accomplish, and what you expected to happen.

Indicare esattamente i messaggi di errore generati dal set di strumenti o specificare l'esatto comportamento del runtime.Please provide the exact error messages given by the toolset, or the exact runtime behavior you see. Queste informazioni sono necessarie per verificare che il problema sia stato riprodotto correttamente.We need this information to verify that we've properly reproduced the issue. Includere tutto l'output del compilatore e non solo l'ultimo messaggio di errore.Please include all of the compiler output, not just the last error message. È necessario avere a disposizione tutti gli elementi che hanno causato il problema segnalato.We need to see everything that led up to the issue you report. Se possibile, duplicare il problema usando il compilatore da riga di comando in quanto genera un output più utile. Può succedere che l'IDE e altri sistemi di compilazione filtrino i messaggi di errore visualizzati o acquisiscano solo la prima riga di un messaggio di errore.If you can duplicate the issue by using the command line compiler, that compiler output is preferred; the IDE and other build systems may filter the error messages you see, or only capture the first line of an error message.

Se il problema consiste nel fatto che il compilatore accetta il codice non valido e non genera una diagnostica, segnalarlo in questo report.If the issue is that the compiler accepts invalid code and does not generate a diagnostic, please note this in your report.

Per segnalare un problema di comportamento del runtime, includere una copia esatta della stampa del programma e di ciò che dovrebbe essere visualizzato.To report a runtime behavior problem, include an exact copy of what the program prints out, and what you expect to see. Teoricamente queste informazioni sono disponibili nell'output dell'istruzione, ad esempio printf("This should be 5: %d\n", actual_result);.Ideally, this is embedded in the output statement itself, for example, printf("This should be 5: %d\n", actual_result);. Segnalare anche se il programma si arresta in modo anomalo o si blocca.If your program crashes or hangs, mention that as well.

Aggiungere qualsiasi altro dettaglio che potrebbe contribuire a diagnosticare il problema riscontrato, ad esempio eventuali soluzioni alternative adottate.Add any other details that might help us diagnose the problem you experienced, such as any work-arounds you may have found. Non ripetere le informazioni già specificate in altre sezioni del report.Avoid repeating information found elsewhere in your report.

Procedura di riproduzioneThe repro

La procedura di riproduzione è un esempio di codice sorgente completo e indipendente che illustra, riproducendolo, il problema riscontrato. Da qui il suo nome.A repro is a complete, self-contained source code example that reproducibly demonstrates the problem you've encountered (hence the name). La procedura di riproduzione è necessaria perché sia possibile riprodurre l'errore nei computer Microsoft.We need a repro so that we can reproduce the error on our machines. Il codice dovrebbe essere di sé sufficiente per creare un semplice eseguibile di compilazione ed esecuzione, o dovrebbe eseguire queste due operazioni se non fosse per il problema riscontrato.The code should be sufficient by itself to create a simple executable that compiles and runs, or that would compile and run if not for the problem you've found. La procedura di riproduzione non è un frammento di codice. Deve contenere funzioni e classi complete e tutte le direttive include necessarie, anche per le intestazioni standard.A repro is not a code snippet; it should have complete functions and classes and contain all the necessary #include directives, even for the standard headers.

Procedura di riproduzione esaustivaWhat makes a good repro

Una procedura di riproduzione esaustiva è:A good repro is:

  • Minima.Minimal. È necessario che le procedure di riproduzione siano minime, ma devono comunque illustrare esattamente il problema riscontrato.Repros should be as small as possible yet still demonstrate exactly the problem you encountered. Le procedure di riproduzione non devono essere complesse o realistiche. Devono illustrare solo il codice conforme allo standard o l'implementazione del compilatore documentata oppure, nel caso di mancanza di diagnostica, il codice non conforme.Repros do not need to be complex or realistic; they only need to show code that conforms to the Standard or the documented compiler implementation, or in the case of a missing diagnostic, the code that is not conformant. Sono preferibili procedure di riproduzione semplici e pertinenti, che contengono codice sufficiente a illustrare il problema.Simple, to-the-point repros that contain just enough code to demonstrate the problem are best. Se possibile, eliminare o semplificare il codice rimanendo conformi e lasciando inalterato il problema.If you can eliminate or simplify the code and remain conformant and also leave the issue unchanged, please do so. Non è necessario includere esempi contatore di codice funzionante.You do not need to include counter-examples of code that works.

  • Indipendente.Self-Contained. È consigliabile non includere nelle procedure di riproduzione dipendenze non necessarie.Repros should avoid unnecessary dependencies. Se possibile, riprodurre il problema senza usare librerie di terzi.If you can reproduce the problem without third-party libraries, please do so. Se possibile, riprodurre il problema senza usare codice di libreria oltre alle semplici istruzioni di output. Usare ad esempio puts("this shouldn't compile");, std::cout << value;e printf("%d\n", value);.If you can reproduce the problem without any library code besides simple output statements (for example, puts("this shouldn't compile");, std::cout << value;, and printf("%d\n", value); are okay), please do so. È preferibile ridurre l'esempio a un singolo file di codice sorgente senza riferimento a intestazioni utente.It's ideal if the example can be condensed to a single source code file, without reference to any user headers. È molto utile ridurre la quantità di codice da analizzare come possibile responsabile del problema.Reducing the amount of code we have to consider as a possible contributor to the problem is enormously helpful to us.

  • Confronto con l'ultima versione del compilerAgainst the latest compiler version. Se possibile, per le procedure di riproduzione è necessario usare l'aggiornamento più recente dell'ultima versione del set di strumenti o la versione provvisoria più recente dell'ultimo aggiornamento o della versione principale successiva.Repros should use the most recent update to the latest version of the toolset, or the most recent prerelease version of the next update or next major release, whenever possible. Molto spesso è possibile che i problemi che si verificano ancora nelle versioni precedenti del set di strumenti sono stati risolti nelle versioni più recenti.Problems you may encounter in older versions of the toolset have very often been fixed in newer versions. Il backporting delle correzioni in versioni precedenti avviene solo in casi eccezionali.Fixes are backported to older versions only in exceptional circumstances.

  • Confronto con altri compilatori, se pertinente.Checked against other compilers if relevant. Le procedure di riproduzione che contengono codice C++ portabile devono verificare il comportamento confrontandolo con altri compilatori se possibile.Repros that involve portable C++ code should verify behavior against other compilers if possible. Alla fine è lo standard a determinare se il programma è corretto. Non esistono compilatori perfetti, ma quando Clang e GCC accettano il codice senza generare diagnostica e il compilatore MSVC non lo fa, è probabile che sia il compilatore Microsoft a contenere un bug.The Standard ultimately determines program correctness, and no compiler is perfect, but when Clang and GCC accept your code without a diagnostic and MSVC does not, it's likely you're looking at a bug in our compiler. È anche possibile che vi siano differenze nel comportamento di Unix e Windows o livelli diversi di implementazione degli standard C++ e così via. Se invece tutti i compilatori rifiutano il codice, è probabile che il codice non sia corretto.(Other possibilities include differences in Unix and Windows behavior, or different levels of C++ standards implementation, and so on.) On the other hand, if all the compilers reject your code, then it's likely that your code is incorrect. Analizzare messaggi di errore diversi può aiutare l'utente a diagnosticare il problema.Seeing different error messages may help you diagnose the issue yourself.

    In Online C++ compilers (Compilatori C++ online) oppure in questo elenco dettagliato List of Online C++ Compilers (Elenco di compilatori C++ online) in GitHub sono disponibili elenchi di compilatori online per testare e confrontare il codice.You can find lists of online compilers to test your code against in Online C++ compilers on the ISO C++ website, or this curated List of Online C++ Compilers on GitHub. Alcuni esempi specifici sono Wandbox, Compiler Explorer e Coliru.Some specific examples include Wandbox, Compiler Explorer, and Coliru.

    Nota

    I siti Web dei compilatori online non sono associati a Microsoft.The online compiler websites are not affiliated with Microsoft. Molti di questi siti sono gestiti come progetti personali. È possibile che alcuni non siano disponibili quando si leggerà questo articolo. Tramite una ricerca è tuttavia possibile trovarne altri da usare.Many online compiler websites are run as personal projects, and some of these sites may not be available when you read this, but a search should find others you can use.

I problemi che riguardano compilatore, linker e librerie sono soliti manifestarsi in modi particolari.Problems in the compiler, linker, and in the libraries, tend to show themselves in particular ways. In base al tipo di problema riscontrato, è necessario scegliere il tipo di procedura di riproduzione da includere nel report.The kind of problem you encounter will determine what kind of repro you should include in your report. Senza una corretta procedura di riproduzione, è impossibile eseguire un'analisi.Without an appropriate repro, we have nothing to investigate. Di seguito sono elencati alcuni tipi di problemi riscontrabili e le istruzioni per la generazione dei tipi di procedura di riproduzione da usare per segnalare ogni singolo problema.Here are a few of the kinds of issues that you may see, and instructions for generating the kinds of repros you should use to report each kind of problems.

Arresto anomalo del front-end (parser)Frontend (parser) crash

Gli arresti anomali del front-end si verificano durante la fase di analisi del compilatore.Frontend crashes occur during the parsing phase of the compiler. In genere il compilatore crea l'errore irreversibile C1001 e segnala il file del codice sorgente e il numero della riga in cui si è verificato l'errore. Viene spesso indicato un file msc1.cpp, dettaglio che può essere tuttavia tralasciato.Typically, the compiler will emit Fatal Error C1001 and reference the source code file and line number on which the error occurred; it will often mention a file msc1.cpp, but you can ignore this detail.

Per questo tipo di arresto anomalo, inviare una procedura di riproduzione pre-elaborata.For this kind of crash, please provide a Preprocessed Repro.

Di seguito è riportato un esempio di output del compilatore per questo tipo di arresto anomalo:Here's example compiler output for this kind of crash:

SandBoxHost.cpp
d:\o\dev\search\foundation\common\tools\sandbox\managed\managed.h(929):
        fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1369)
To work around this problem, try simplifying or changing the program near the
        locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
d:\o\dev\search\foundation\common\tools\sandbox\managed\managed.h(929):
        note: This diagnostic occurred in the compiler generated function
        'void Microsoft::Ceres::Common::Tools::Sandbox::SandBoxedProcess::Dispose(bool)'
Internal Compiler Error in d:\o\dev\otools\bin\x64\cl.exe.  You will be prompted
        to send an error report to Microsoft later.
INTERNAL COMPILER ERROR in 'd:\o\dev\otools\bin\x64\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information

Arresto anomalo del back-end (generazione del codice)Backend (code generation) crash

Gli arresti anomali del back-end si verificano durante la fase di generazione del codice del compilatore.Backend crashes occur during the code generation phase of the compiler. In genere il compilatore genera l'errore irreversibile C1001 e non sempre segnala il file del codice sorgente e il numero della riga in cui si è verificato l'errore. Viene spesso indicato il file compiler\utc\src\p2\main.c, dettaglio che può essere tuttavia tralasciato.Typically, the compiler will emit Fatal Error C1001, and might not reference the source code file and line number associated with the problem; it will often mention the file compiler\utc\src\p2\main.c, but you can ignore this detail.

Per questo tipo di arresto anomalo, inviare una procedura di riproduzione del collegamento se si usa la Generazione codice in fase di collegamento, abilitata dall'argomento della riga di comando /GL in cl.exe.For this kind of crash, please provide a Link repro if you are using Link-Time Code Generation (LTCG), enabled by the /GL command-line argument to cl.exe. Altrimenti, inviare una procedura di riproduzione pre-elaborata.If not, please provide a Preprocessed repro instead.

Di seguito è riportato un esempio di output del compilatore per un arresto anomalo del back-end in cui la Generazione codice in fase di collegamento non è in uso.Here's example compiler output for a backend crash in which LTCG is not used. Se l'output del compilatore è simile al seguente è necessario inviare una procedura di riproduzione pre-elaborata.If your compiler output looks like this you should provide a Preprocessed Repro.

repro.cpp
\\officefile\public\tadg\vc14\comperror\repro.cpp(13) : fatal error C1001:
        An internal error has occurred in the compiler.
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 230)
To work around this problem, try simplifying or changing the program near the
        locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
INTERNAL COMPILER ERROR in
        'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information

Se la riga che inizia con INTERNAL COMPILER ERROR specifica link.exe anziché cl.exe, significa che la Generazione codice in fase di collegamento è stata abilitata ed è necessario inviare una procedura di riproduzione del collegamento.If the line that begins with INTERNAL COMPILER ERROR mentions link.exe, rather than cl.exe, LTCG was enabled and you should provide a Link Repro. Se dal messaggio di errore del compilatore non è chiaro se la Generazione codice in fase di collegamento era abilitata, può essere necessario esaminare gli argomenti della riga di comando copiata dal log di compilazione nel passaggio precedente per l'argomento della riga di comando /GL.If its not clear whether LTCG was enabled from the compiler error message, you may need to examine the command line arguments that you copied from your build log in a previous step for the /GL command-line argument.

Arresto anomalo del linkerLinker crash

Gli arresti anomali del linker si verificano durante la fase di collegamento, dopo l'esecuzione del compilatore.Linker crashes occur during the linking phase, after the compiler has run. In genere il linker crea l'errore strumenti del linker LNK1000.Typically, the linker will emit Linker Tools Error LNK1000.

Nota

Se invece l'output specifica C1001 o include la Generazione codice in fase di collegamento, fare riferimento a Arresto anomalo del back-end (generazione del codice) per altre informazioni.If the output mentions C1001 or involves Link-Time Code Generation, refer to Backend (code generation) crash instead for more information.

Per questo tipo di arresto anomalo, inviare una procedura di riproduzione del collegamento.For this kind of crash, please provide a Link repro.

Di seguito è riportato un esempio di output del compilatore per questo tipo di arresto anomalo.Here's example compiler output for this kind of crash.

z:\foo.obj : error LNK1000: Internal error during IMAGE::Pass2

  Version 14.00.22816.0

  ExceptionCode            = C0000005
  ExceptionFlags           = 00000000
  ExceptionAddress         = 00007FF73C9ED0E6 (00007FF73C9E0000)
        "z:\tools\bin\x64\link.exe"
  NumberParameters         = 00000002
  ExceptionInformation[ 0] = 0000000000000000
  ExceptionInformation[ 1] = FFFFFFFFFFFFFFFF

CONTEXT:

  Rax    = 0000000000000400  R8     = 0000000000000000
  Rbx    = 000000655DF82580  R9     = 00007FF840D2E490
  Rcx    = 005C006B006F006F  R10    = 000000655F97E690
  Rdx    = 000000655F97E270  R11    = 0000000000000400
  Rsp    = 000000655F97E248  R12    = 0000000000000000
  Rbp    = 000000655F97EFB0  E13    = 0000000000000000
  Rsi    = 000000655DF82580  R14    = 000000655F97F390
  Rdi    = 0000000000000000  R15    = 0000000000000000
  Rip    = 00007FF73C9ED0E6  EFlags = 0000000000010206
  SegCs  = 0000000000000033  SegDs  = 000000000000002B
  SegSs  = 000000000000002B  SegEs  = 000000000000002B
  SegFs  = 0000000000000053  SegGs  = 000000000000002B
  Dr0    = 0000000000000000  Dr3    = 0000000000000000
  Dr1    = 0000000000000000  Dr6    = 0000000000000000
  Dr2    = 0000000000000000  Dr7    = 0000000000000000

Se è abilitato il collegamento incrementale e l'arresto anomalo si è verificato solo dopo il collegamento iniziale, vale a dire solo dopo il primo collegamento completo su cui si basa il collegamento incrementale successivo, inviare anche una copia dei file oggetto (con estensione obj) e libreria (con estensione lib) che corrispondono ai file sorgente che sono stati modificati al completamento del collegamento iniziale.If incremental linking is enabled and the crash occurred only after a successful initial link, (that is, only after the first full linking on which subsequent incremental linking is based) please also provide a copy of the object (.obj) and library (.lib) files that correspond to source files that were modified after the initial link was completed.

Generazione di codice erratoBad code generation

La generazione di codice errato è un evento raro, che si verifica tuttavia quando il compilatore genera erroneamente codice non corretto che causa l'arresto anomalo dell'applicazione in fase di esecuzione anziché rilevare il problema in fase di compilazione.Bad code generation is rare, but occurs when the compiler mistakenly generates incorrect code that will cause your application to crash at runtime rather than detecting this problem at compile-time. Se si ritiene che il problema determini la generazione di codice errato, organizzare il report come nel caso di Arresto anomalo del back-end (generazione del codice).If you believe the problem you are experiencing results in bad code generation, treat your report the same as a Backend (code generation) crash.

Per questo tipo di arresto anomalo inviare una procedura di riproduzione del collegamento se si usa la Generazione codice in fase di collegamento, abilitata dall'argomento della riga di comando /GL in cl.exe.For this kind of crash please provide a Link repro if you are using Link-Time Code Generation (LTCG), enabled by the /GL command-line argument to cl.exe. Altrimenti, inviare una procedura di riproduzione pre-elaborata.Please provide a Preprocessed repro if not.

Come generare una procedura di riproduzioneHow to generate a repro

Per poter risalire alla causa del problema, è essenziale una procedura di riproduzione esaustiva.To help us track down the source of the problem, a good repro is vital. Prima di eseguire i passaggi descritti di seguito per tipi specifici di riproduzione, ridurre il più possibile il codice che illustra il problema.Before you do any of the steps outlined below for specific kinds of repros, try to condense the code that demonstrates the problem as much as possible. Eliminare o ridurre al minimo dipendenze, intestazioni necessarie e librerie e, se possibile, limitare le opzioni del compilatore e le definizioni del preprocessore usate.Try to eliminate or minimize dependencies, required headers, and libraries, and limit the compiler options and preprocessor definitions used if possible.

Di seguito sono disponibili le istruzioni per la generazione dei vari tipi di procedure di riproduzione che verranno usate per segnalare i diversi problemi.Below are instructions for generating the various kinds of repros you'll use to report different kinds of problems.

Procedure di riproduzione pre-elaboratePreprocessed repros

Una procedura di riproduzione pre-elaborata è un unico file di origine che illustra un problema e che è stato generato dall'output del preprocessore C tramite l'opzione del compilatore /P nel file di origine della procedura di riproduzione originale.A preprocessed repro is a single source file that demonstrates a problem, generated from the output of the C preprocessor by using the /P compiler option on the original repro source file. Comprende le intestazioni incluse per rimuovere le dipendenze da altri file di origine e di intestazione e risolve anche macro, #ifdefs e altri comandi del preprocessore che potrebbero dipendere dall'ambiente locale.This inlines included headers to remove dependencies on additional source and header files, and also resolves macros, #ifdefs, and other preprocessor commands that could depend your local environment.

Nota

Le procedure di riproduzione pre-elaborate non sono adatte a segnalare problemi causati probabilmente da bug presenti nell'implementazione della libreria standard. Capita spesso infatti che Microsoft decida di sostituire l'ultima implementazione non definitiva per verificare se il problema è già stato risolto.Preprocessed repros are not as useful for problems that might be the result of bugs in our standard library implementation, because we will often want to substitute our latest, in-progress implementation to see whether we've already fixed the problem. In questo caso non pre-elaborare la procedure di riproduzione. Se non è possibile ridurre il problema a un solo file di origine, comprimere il codice in un file ZIP, o simile, oppure usare una procedura di riproduzione del progetto IDE.In this case, don't preprocess the repro, and if you can't reduce the problem to a single source file, package your code into a .zip file or similar, or consider using an IDE project repro. Per altre informazioni, vedere Altre procedure di riproduzione.For more information, see Other repros.

Per pre-elaborare un file del codice sorgenteTo preprocess a source code file

  1. Acquisire gli argomenti della riga di comando usati per compilare la procedura di riproduzione, come descritto in Per segnalare i contenuti della riga di comando.Capture the command line arguments used to build your repro, as described in To report the contents of the command line.

  2. Aprire il prompt dei comandi per gli sviluppatori corrispondente alla versione di Visual Studio e all'architettura di configurazione usata per compilare il progetto.Open the Developer Command Prompt that matches the Visual Studio version and configuration architecture used to build your project.

  3. Passare alla directory che contiene il progetto della procedura di riproduzione.Change to the directory that contains your repro project.

  4. Nella finestra della console del prompt dei comandi per gli sviluppatori immettere il comando cl /P argomenti nomefile.cpp, dove argomenti è l'elenco degli argomenti acquisiti in precedenza e nomefile.cpp è il nome del file di origine della procedura di riproduzione.In the developer command prompt console window, enter the command cl /P arguments filename.cpp, where arguments is the list of arguments captured above, and filename.cpp is the name of your repro source file. Questo comando consente di replicare la riga di comando usata per la riproduzione, ma arresta la compilazione al passaggio del preprocessore e restituisce il codice di origine pre-elaborato in nomefile.i.This command replicates the command line used for the repro, but stops the compilation after the preprocessor pass, and outputs the preprocessed source code to filename.i.

Se è in pre-elaborazione un file del codice sorgente C++/CX o è in uso una funzionalità dei moduli C++, sono necessari alcuni passaggi aggiuntivi.If you are preprocessing a C++/CX source code file, or you are using the C++ Modules feature, some additional steps are required. Per altre informazioni, vedere le sezioni riportate di seguito.For more information, see the sections below.

Dopo aver generato il file pre-elaborato, è consigliabile verificare che il problema sia ancora riproducibile usando il file pre-elaborato.After you have generated the preprocessed file, its a good idea to make sure that the problem still repros using the preprocessed file.

Per confermare che l'errore è ancora riproducibile con il file pre-elaboratoTo confirm that the error still repros with the preprocessed file

  1. Nella finestra della console del prompt dei comandi per gli sviluppatori immetterecl argomenti /TP nomefile.1 perché cl.exe compili il file pre-elaborato come file di origine C++, dove argomenti è l'elenco degli argomenti acquisiti in precedenza, senza gli argomenti /D e /I che sono stati rimossi perché già inclusi nel file pre-elaborato, e dove nomefile.i è il nome del file pre-elaborato.In the developer command prompt console window, enter the command cl arguments /TP filename.i to tell cl.exe to compile the preprocessed file as a C++ source file, where arguments is the list of arguments captured above, but with any /D and /I arguments removed (because they have already been included in the preprocessed file); and where filename.i is the name of your preprocessed file.

  2. Verificare che il problema viene riprodotto.Confirm that the problem is reproduced.

Infine, allegare la procedura di riproduzione pre-elaborata nomefile.i al report.Finally, attach the preprocessed repro filename.i to your report.

Procedure di riproduzione del codice C++/CX WinRT/UWP pre-elaboratoPreprocessed C++/CX WinRT/UWP code repros

Se si usa C++/CX per compilare l'eseguibile, sono necessari alcuni passaggi aggiuntivi per creare e convalidare una procedura di riproduzione pre-elaborata.If you're using C++/CX to build your executable, there are some extra steps required to create and validate a preprocessed repro.

Per pre-elaborare un file del codice sorgente C++/CXTo preprocess C++/CX source code

  1. Creare un file del codice sorgente pre-elaborato come descritto in Per pre-elaborare un file del codice sorgente.Create a preprocessed source file as described in To preprocess a source code file.

  2. Cercare il file nomefile.i generato per le direttive #using.Search the generated filename.i file for #using directives.

  3. Creare un elenco di tutti i file di riferimento.Make a list of all of the referenced files. Escludere tutti i file Windows*.winmd, platform.winmd e mscorlib.dll.Leave out any Windows*.winmd files, platform.winmd files, and mscorlib.dll.

Per prepararsi a convalidare la riproduzione del problema usando il file pre-elaboratoTo prepare to validate that the preprocessed file still reproduces the problem,

  1. Creare una nuova directory per il file pre-elaborato e copiarlo nella nuova directory.Create a new directory for the preprocessed file and copy it to the new directory.

  2. Copiare i file con estensione winmd dall'elenco #using nella nuova directory.Copy the .winmd files from your #using list to the new directory.

  3. Creare un file vccorlib.h vuoto nella nuova directory.Create an empty vccorlib.h file in the new directory.

  4. Modificare il file pre-elaborato per rimuovere qualsiasi direttiva #using per mscorlib.dll.Edit the preprocessed file to remove any #using directives for mscorlib.dll.

  5. Modificare il file pre-elaborato per modificare eventuali percorsi assoluti ai nomi di file bare per i file con estensione winmd copiati.Edit the preprocessed file to change any absolute paths to just the bare filenames for the copied .winmd files.

Confermare che il problema di cui sopra sia ancora riproducibile dal file pre-elaborato.Confirm that the preprocessed file still reproduces the problem, as above.

Procedure di riproduzione dei moduli C++ pre-elaboratiPreprocessed C++ Modules repros

Se si usa la funzionalità di moduli del compilatore C++, sono necessari alcuni passaggi diversi per creare e convalidare una procedura di riproduzione pre-elaborata.If you're using the Modules feature of the C++ compiler, there are some different steps required to create and validate a preprocessed repro.

Per pre-elaborare un file del codice sorgente che usa un moduloTo preprocess a source code file that uses a module

  1. Acquisire gli argomenti della riga di comando usati per compilare la procedura di riproduzione, come descritto in Per segnalare i contenuti della riga di comando.Capture the command line arguments used to build your repro, as described in To report the contents of the command line.

  2. Aprire il prompt dei comandi per gli sviluppatori corrispondente alla versione di Visual Studio e all'architettura di configurazione usata per compilare il progetto.Open the Developer Command Prompt that matches the Visual Studio version and configuration architecture used to build your project.

  3. Passare alla directory che contiene il progetto della procedura di riproduzione.Change to the directory that contains your repro project.

  4. Nella finestra della console del prompt dei comandi per gli sviluppatori immettere il comando cl /P argomenti nomefile.cpp, dove argomenti è l'elenco degli argomenti acquisiti in precedenza e nomefile.cpp è il nome del file di origine che usa il modulo.In the developer command prompt console window, enter the command cl /P arguments filename.cpp, where arguments is the list of arguments captured above, and filename.cpp is the name of the source file that consumes the module.

  5. Passare alla directory contenente il progetto di riproduzione con cui è stata compilata l'interfaccia del modulo (output con estensione ifc).Change to the directory that contains the repro project that built the module interface (the .ifc output).

  6. Acquisire gli argomenti della riga di comando usati per compilare l'interfaccia del modulo.Capture the command line arguments used to build your module interface.

  7. Nella finestra della console del prompt dei comandi per gli sviluppatori immettere il comando cl /P argomenti nomemodulo.ixx, dove argomenti è l'elenco degli argomenti acquisiti in precedenza e nomemodulo.ixx è il nome del file del file che crea l'interfaccia del modulo.In the developer command prompt console window, enter the command cl /P arguments modulename.ixx, where arguments is the list of arguments captured above, and modulename.ixx is the name of the file that creates the module interface.

Dopo aver generato i file pre-elaborati, è consigliabile verificare che il problema sia ancora riproducibile usando il file pre-elaborato.After you have generated the preprocessed files, its a good idea to make sure the problem still repros using the preprocessed file.

Per confermare che l'errore è ancora riproducibile con il file pre-elaboratoTo confirm that the error still repros with the preprocessed file

  1. Nella finestra della console per gli sviluppatori passare alla directory che contiene il progetto della procedura di riproduzione.In the developer console window, change back to the directory that contains your repro project.

  2. Immettere il comando cl argomenti /TP nomefile.i come descritto in precedenza, per compilare il file pre-elaborato come se fosse un file di origine C++.Enter the command cl arguments /TP filename.i as above, to compile the preprocessed file as if it were a C++ source file.

  3. Confermare che il problema sia ancora riproducibile dal file pre-elaborato.Confirm that the problem is still reproduced by the preprocessed file.

Infine, allegare alla segnalazione i file pre-elaborati per la procedura di riproduzione (nomefile.i e nomemodulo.i) e l'output con estensione ifc.Finally, attach the preprocessed repro files (filename.i and modulename.i) along with the .ifc output to your report.

Una procedura di riproduzione del collegamento è costituita da una directory di contenuti del linker specificata dalla variabile di ambiente link_repro.A link repro is the linker-generated contents of a directory specified by the link_repro environment variable. Contiene gli elementi di compilazione che insieme contribuiscono a illustrare un problema che si verifica in fase di collegamento, ad esempio un arresto anomalo del back-end che interessa la Generazione codice in fase di collegamento oppure un arresto anomalo del linker.It contains build artifacts that collectively demonstrate a problem that occurs at link time, such as a backend crash involving Link-Time Code Generation (LTCG), or a linker crash. Gli elementi di compilazione sono necessari come input del linker in modo che il problema sia riproducibile.These build artifacts are the ones needed as linker input so that the problem can be reproduced. È possibile creare facilmente una procedura di riproduzione del collegamento usando questa variabile di ambiente per abilitare la funzionalità integrata di generazione delle procedure di riproduzione del linker.A link repro can be created easily by using this environment variable to enable the built-in repro generation capability of the linker.

  1. Acquisire gli argomenti della riga di comando usati per compilare la procedura di riproduzione, come descritto in Per segnalare i contenuti della riga di comando.Capture the command line arguments used to build your repro, as described in To report the contents of the command line.

  2. Aprire il prompt dei comandi per gli sviluppatori corrispondente alla versione di Visual Studio e all'architettura di configurazione usata per compilare il progetto.Open the Developer Command Prompt that matches the Visual Studio version and configuration architecture used to build your project.

  3. Nella finestra della console del prompt dei comandi per gli sviluppatori passare alla directory che contiene il progetto della procedura di riproduzione.In the developer command prompt console window, change to the directory that contains your repro project.

  4. Immettere mkdir linkrepro per creare una directory per la procedura di riproduzione.Enter mkdir linkrepro to create a directory for the link repro.

  5. Immettere il comando set link_repro=linkrepro per impostare la variabile di ambiente link_repro nella directory appena creata.Enter the command set link_repro=linkrepro to set the link_repro environment variable to the directory you just created.

  6. Per compilare il progetto della procedura di riproduzione in Visual Studio, immettere il comando devenv nella finestra della console del prompt dei comandi per gli sviluppatori.To build the repro project in Visual Studio, in the developer command prompt console window, enter the command devenv. In questo modo il valore della variabile di ambiente link_repro sarà visibile in Visual Studio.This ensures that the value of the link_repro environment variable is visible to Visual Studio. Per compilare il progetto nella riga di comando, usare gli argomenti della riga di comando acquisiti in precedenza per duplicare la compilazione della procedura di riproduzione.To build the project at the command line, use the command line arguments captured above to duplicate the repro build.

  7. Compilare il progetto della procedura di riproduzione e confermare che il problema previsto si è verificato.Build your repro project, and confirm that the expected problem has occurred.

  8. Chiudere Visual Studio se è stato usato per eseguire la compilazione.Close Visual Studio if you used it to perform the build.

  9. Nella finestra della console del prompt dei comandi per gli sviluppatori immettere il comando set link_repro= per cancellare la variabile di ambiente link_repro.In the developer command prompt console window, enter the command set link_repro= to clear the link_repro environment variable.

Infine comprimere l'intera directory linkrepro in un file ZIP o simile e allegare il file al report.Finally, package the repro by compressing the entire linkrepro directory into a .zip file or similar and attach it to your report.

Altre procedure di riproduzioneOther repros

Se il problema non può essere ridotto a un singolo file di origine o a una procedura di riproduzione pre-elaborata, e non è necessaria una procedura di riproduzione del collegamento per testare il problema, è possibile analizzare un progetto IDE.If you can't reduce the problem to a single source file or preprocessed repro, and the problem does not require a link repro, we can investigate an IDE project. Valgono tuttavia tutte le indicazioni su come creare una procedura di riproduzione esaustiva. Il codice deve essere minimo e indipendente, il problema deve verificarsi negli strumenti Microsoft più recenti, ed eventualmente, il problema non deve manifestarsi in altri compilatori.All the guidance on how to create a good repro still applies; the code should be minimal and self-contained, the problem should occur in our most recent tools, and if relevant, the problem should not be seen in other compilers.

Creare la procedura di riproduzione come progetto IDE minimo, comprimere l'intera struttura della directory in un file con estensione zip o simile e allegarla al report.Create your repro as a minimal IDE project, then package it by compressing the entire directory structure into a .zip file or similar and attach it to your report.

Modi per inviare il reportWays to send your report

Esistono un paio di modi utili per inviare il report a Microsoft.There are a couple of good ways to get your report to us. È possibile usare lo strumento predefinito di Visual Studio Segnala un problema , o le pagine della Community degli sviluppatori Visual Studio.You can use Visual Studio's built-in Report a Problem Tool, or the Visual Studio Developer Community pages. È inoltre possibile accedere direttamente alle pagine della nostra community di sviluppatori scegliendo il pulsante Commenti e suggerimenti nella parte inferiore della pagina.You can also get directly to our Developer Community pages by choosing the Product feedback button at the bottom of this page. La scelta dipende dal fatto che si vogliano usare gli strumenti dell'IDE per acquisire gli screenshot e organizzare la segnalazione da pubblicare nelle pagine della community degli sviluppatori o che si preferisca usare direttamente il sito Web.The choice depends on whether you want to use the tools built into the IDE for capturing screenshots and organizing your report for posting on the Developer Community pages, or if you'd prefer to use the website directly.

Nota

Indipendentemente dalla modalità di invio del report, Microsoft rispetta la privacy degli utenti.Regardless of how you submit your report, Microsoft respects your privacy. Microsoft garantisce conformità a tutte le leggi che regolano la privacy dei dati.Microsoft is committed to compliance with all data privacy laws and regulations. Per informazioni sul trattamento dei dati inviati a Microsoft, vedere l'Informativa sulla privacy di Microsoft.For information about how we treat the data that you send us, see the Microsoft Privacy Statement.

Usare lo strumento Segnala un problemaUse the Report a Problem tool

Segnala un problema è uno strumento di Visual Studio che consente agli utenti di segnalare una serie di problemi in pochi clic.The Report a Problem tool in Visual Studio is a way for Visual Studio users to report a variety of problems with just a few clicks. Offre un semplice modulo in cui specificare le informazioni dettagliate sul problema rilevato e consente di inviare il report senza mai uscire dall'IDE.It provides a simple form that you can use to specify detailed information about the problem you've encountered and then submit your report without ever leaving the IDE.

Segnalare il problema tramite lo strumento Segnala un problema dall'IDE è facile e comodo.Reporting your problem through the Report a Problem tool is easy and convenient from the IDE. È possibile accedere dalla barra del titolo scegliendo l'icona Commenti e suggerimenti accanto alla casella di ricerca Avvio veloce oppure è possibile visualizzarlo nella barra dei menu in Guida > Commenti e suggerimenti > Segnala un problema.You can access it from the title bar by choosing the Send Feedback icon next to the Quick Launch search box, or you can find it on the menu bar in Help > Send Feedback > Report a Problem.

Quando si sceglie di segnalare un problema, eseguire la ricerca di problemi simili nella Community degli sviluppatori.When you choose to report a problem, first search the Developer Community for similar problems. Se il problema è stato segnalato in precedenza, votare a favore dell'argomento e aggiungere un commento con informazioni specifiche.If your problem has been reported before, upvote the topic and add comments with additional specifics. Se non viene visualizzato un problema analogo, fare clic sul pulsante Segnala un nuovo problema nella parte inferiore della finestra di dialogo Commenti e suggerimenti di Visual Studio e seguire i passaggi per segnalare il problema.If you don't see a similar problem, choose the Report new problem button at the bottom of the Visual Studio Feedback dialog and follow the steps to report your problem.

Usare le pagine della community di sviluppatori di Visual StudioUse the Visual Studio Developer Community pages

Le pagine della community di sviluppatori di Visual Studio sono un altro modo pratico per segnalare problemi e trovare soluzioni per Visual Studio, il compilatore C++, strumenti e librerie.The Visual Studio Developer Community pages are another convenient way to report problems and find solutions for Visual Studio, the C++ compiler, tools, and libraries. Dalla pagina relativa alle domande su Visual Studio è possibile segnalare problemi con l'IDE o l'installazione.The Visual Studio Questions page is where to report problems with the IDE or installation. Per problemi con l'uso del compilatore,del linker e altri strumenti e librerie di C++, usare la pagina relativa alle domande su C++ pagina.For issues with the C++ compiler, linker, and other tools and libraries, use the C++ Questions page.

Nel banner della community degli sviluppatori nella parte superiore di ogni pagina è presente una casella di ricerca che è possibile usare per trovare post o argomenti che segnalano problemi simili a quello in questione.In the Developer Community banner near the top of each page is a search box you can use to find posts or topics that report problems similar to yours. In un argomento esistente possono già essere presenti soluzioni o altre informazioni utili relative al problema.You may find that a solution or other useful information related to your problem is already available in an existing topic. Se un utente ha riportato lo stesso problema in precedenza, votare a favore del problema e immettere un commento anziché procedere con una nuova segnalazione del problema.If someone has reported the same problem before, please upvote and comment on that topic rather than create a new problem report.

Se il problema non è stato segnalato in precedenza, fare clic sul pulsante Segnala un problema accanto alla casella di ricerca nella pagina della Community degli sviluppatori.If your problem has not been reported before, choose the Report a problem button next to the search box on the Developer Community page. È possibile che venga richiesto di accedere al proprio account di Visual Studio e di accettare per concedere l'accesso all'app della Community degli sviluppatori al proprio profilo.You may be asked to sign in to your Visual Studio account and to agree to give the Developer Community app access to your profile. Una volta connessi, si passa direttamente a una pagina in cui segnalare il problema.When you are signed in, you go directly to a page where you can report the problem. È possibile includere il codice della procedura di ripetizione e la riga di comando, schermate, i collegamenti alle discussioni correlate e qualsiasi altra informazione attinente e utile.You can include your repro code and command line, screen shots, links to related discussions, and any other information you think is relevant and useful.

Suggerimento

Per altri tipi di problemi che si possono verificare in Visual Studio e che non sono correlati al set di strumenti, ad esempio problemi con l'interfaccia utente, funzionalità IDE interrotte o arresti anomali generali, lo strumento Segnala un problema può essere un'ottima scelta, grazie alle sue funzionalità di screenshot e alla possibilità di registrare le azioni dell'interfaccia utente responsabili del problema riscontrato.For other kinds of problems you might encounter in Visual Studio that are not related to the toolset (For example, UI issues, broken IDE functionality, or general crashes), the Report a Problem tool can be an especially good choice due to its screenshot capabilities and its ability to record UI actions that lead to the problem you've encountered. Questi tipi di errori possono essere segnalati anche sul sito della community degli sviluppatori.These kinds of errors can also be reported on the Developer Community site.

Segnalazioni e privacyReports and privacy

Per impostazione predefinita tutte le informazioni contenute nelle segnalazioni, i commenti e le risposte sono pubblicamente visibili.By default, all information in reports and any comments and replies are publicly visible. In genere, tutto ciò rappresenta un vantaggio, in quanto consente all'intera community di visualizzare i problemi, le soluzioni e soluzioni alternative individuate da altri utenti.Normally, this is a benefit, because it allows the entire community to see the issues, solutions, and workarounds other users have found. Tuttavia, se per motivi di privacy o di proprietà intellettuale, si teme che i propri dati o la propria identità diventino di dominio pubblico, sono disponibili alcune opzioni.However, if you're concerned about making your data or identity public, for privacy or intellectual property reasons, you have options.

Se non si vuole rivelare la propria identità creare un nuovo account Microsoft che non divulghi informazioni dettagliate personali.If you are concerned about revealing your identity, create a new Microsoft account that does not disclose any details about you. Usare questo account per creare la segnalazione.Use this account to create your report.

Nel titolo o nel contenuto della segnalazione iniziale che sono pubblici, non inserire informazioni che si vogliono mantenere private.Don't put anything you want to keep private in the title or content of the initial report, which is public. Si noti invece che i dettagli saranno inviati privatamente in un commento a parte.Instead, note that you will send details privately in a separate comment. Per assicurarsi che la segnalazione sia indirizzata al destinatario corretto, includere cppcompiler nell'elenco degli argomenti nella segnalazione del problema.To make sure that your report is directed to the right people, include cppcompiler in the topic list of your problem report. Dopo aver segnalato il problema, è possibile specificare chi potrà visualizzare le risposte e gli allegati.Once the problem report is created, it's now possible to specify who can see your replies and attachments.

Per creare una segnalazione di un problema con informazioni privateTo create a problem report for private information

  1. Nella segnalazione creata scegliere Aggiungi commento per creare la descrizione privata del problema.In the report you created, choose Add comment to create your private description of the problem.

  2. Nell'editor di risposta usare l'elenco a discesa per il controllo sotto i pulsanti Invia e Annulla per specificare chi potrà visualizzare la risposta.In the reply editor, use the dropdown control below the Submit and Cancel buttons to specify the audience for your reply. Solo le persone specificate potranno visualizzare le risposte private, le immagini, i collegamenti o il codice inclusi nelle risposte.Only the people you specify can see these private replies and any images, links, or code you include in them. Scegliere Viewable by moderators and the original poster (Visualizzabile da moderatori e dall'autore originale del post) per limitare la visibilità ai dipendenti Microsoft e all'utente.Choose Viewable by moderators and the original poster to limit visibility to Microsoft employees and yourself.

  3. Aggiungere la descrizione ed eventuali altre informazioni, immagini e allegati di file necessari per la procedura di riproduzione.Add the description and any other information, images, and file attachments needed for your repro. Scegliere il pulsante Invia per inviare queste informazioni privatamente.Choose the Submit button to send this information privately.

    Si noti che esiste un limite di 2GB per i file allegati e un massimo di 10 file.Note that there is a 2GB limit on attached files, and a maximum of 10 files. Per caricare file di dimensioni maggiori, richiedere un URL di caricamento in un commento privato.For any larger uploads, please request an upload URL in your private comment.

Le risposte in questo commento sono soggette allo stesso limite di visibilità specificata,Any replies under this comment have the same restricted visibility you specified. anche se l'elenco a discesa per il controllo nelle risposte non visualizza correttamente lo stato di visibilità limitata.This is true even if the dropdown control on replies does not show the restricted visibility status correctly.

Per garantire la privacy e assicurarsi che le informazioni riservate non siano visualizzabili pubblicamente, gestire sempre le risposte con Microsoft usando questo commento limitato.To maintain your privacy and keep your sensitive information out of public view, please take care to keep all interaction with Microsoft to replies under this restricted comment. Le risposte ad altri commenti potrebbero accidentalmente divulgare informazioni riservate.Replies to other comments may cause you to accidentally disclose sensitive information.

Come segnalare un problema di documentazione di C++How to report a C++ documentation issue

Utilizziamo i problemi GitHub per tenere traccia dei problemi segnalati nella nostra documentazione.We use GitHub issues to track problems reported in our documentation. È ora possibile creare problemi in GitHub direttamente da una pagina contenuto, che consente di interagire in modo molto più efficace con gli autori e i team di prodotto.You can now create GitHub issues directly from a content page, which enables you interact in a much richer way with writers and product teams. Se si nota un problema in un documento, un esempio di codice non valido, una spiegazione confusa, una mancanza critica o semplicemente un errore di ortografia, è possibile segnalare facilmente il problema.If you see an issue with a document, a bad code sample, a confusing explanation, a critical omission, or even just a typo, you can easily let us know. Scorrere fino alla fine della pagina e selezionare Sign in to give documentation feedback (Accedi per fornire commenti e suggerimenti sulla documentazione).Scroll to the bottom of the page and select Sign in to give documentation feedback. È necessario creare un account GitHub, se non si è già provveduto, ma una volta fatto sarà possibile visualizzare tutti i problemi relativi alla documentazione, il relativo stato e ricevere notifiche quando vengono apportate modifiche per l'errore segnalato.You'll need to create a GitHub account if you don't have one already, but once you do, you can see all of our documentation issues, their status, and get notifications when changes are made for the issue you reported. Per altre informazioni, vedere A New Feedback System Is Coming to docs.microsoft.com (Nuovo sistema di commenti e suggerimenti per docs.microsoft.com).For more information, see A New Feedback System Is Coming to docs.microsoft.com.

Quando si segnala un problema di documentazione su GitHub usando il pulsante Commenti e suggerimenti, il problema viene automaticamente compilato con alcune informazioni relative alla pagina in cui è stato creato il problema, in modo da sapere dove si trova il problema.When you create a documentation issue on GitHub by using the documentation feedback button, the issue is automatically filled in with some information about the page you created the issue on, so we know where the problem is located. Non modificare queste informazioni.Please don't edit this information. Aggiungere solo i dettagli sull'errore ed eventualmente suggerire una correzione.Just append the details about what's wrong and, if you like, a suggested fix. La documentazione è open source, pertanto, se l'utente desidera apportare una correzione e proporla personalmente, può farlo.Our documentation is open source, so if you'd like to actually make a fix and propose it yourself, you can do that. Per ulteriori informazioni su come contribuire alla documentazione, vedere la nostra Contributing guide (Guida ai contributi) su GitHub.For more information about how you can contribute to our documentation, see our Contributing guide on GitHub.