Не удается отладить код C в Visual Studio 2019 («Исходный код недоступен» / «Не удается запустить программу: * .exe» проблемы)

#c #visual-studio #access-denied

#c #visual-студия #доступ запрещен

Вопрос:

Я использую Windows 7 Professional.

Я пытаюсь отладить простой C-код в проекте C в Visual Studio 2019. Вот этот код:

 #include <stdio.h>
#include <stdlib.h>

int main(void) {
    printf("#########################################n");
    // n: day that the query stops
    int n = 5;
    printf("Day to stop receiving queries: %dn", n);
    // q is the number of queries received by day
    // ql is the amount of queries left to the next day
    // k is the max of queries replied by day
    long long int q = 0, ql = 0, k = 250;
    printf("Max queries to read per day: %lldn", k);
    // day is the current day
    int day = 1;
    while (1) {
        printf("#########################################n");
        if (day > n) {
            q = 0;
        }
        else {
            printf("Enter the number of queries received todayn");
            scanf("%lld", amp;q);
        }
        printf("Day: %dnQueries received today: %lldnTotal of queries to read today: %lldn", day, q, (ql   q));
        if ((q   ql) > k) {
            ql = q   ql - k;
            printf("q: %lldn", q);
            printf("ql: %lldn", ql);
            printf("k: %lldn", k);
        }
        else {
            ql = 0;
            break;
        }
        printf("Left queries to the next day: %lldn", ql);
        day  ;
    }
    printf("#########################################n");
    printf("#########################################n");
    printf("Day with free time: %dn", day);
    printf("#########################################n");
    printf("#########################################n");
    return 0;
}
 
  1. Если я попытаюсь выполнить отладку с помощью опции x64, я получу сообщение «Источник недоступен».:

Сообщение «Источник недоступен»

Я поставил точку останова в начале кода и заметил, что она выдает исключение в строке «scanf(«%lld», amp;q);». Вот информация об исключении: «Исключение, вызванное 0x0000000076E6756E (ntdll.dll ) в ChefAndEasyQueries.exe : 0xC0000005: местоположение записи с нарушением доступа 0x0000000000000000.»

  1. Если я попытаюсь выполнить отладку с помощью опции x86, я получаю сообщение об ошибке «Невозможно запустить программу * .exe / Доступ запрещен» (оно на португальском языке):

Сообщение «Не удается запустить программу»

EXE-файл отсутствует в указанном каталоге. Я не знаю, не создает ли Visual Studio файл или мой КОМПЬЮТЕР каким-то образом удаляет его.

Комментарии:

1. Я думаю, вы хотите переключить поток в этом случае на основной поток.

2. Почему вы используете Windows 7 в 2020 году?

3. Ваш код дает сбой, и он выходит из строя в библиотечном коде, для которого у вас нет исходного кода. Скорее всего, это связано с параметрами, которые вы передаете scanf .

4. Я не могу найти .exe файл в указанном каталоге. Я не знаю, не создает ли Visual Studio файл или мой компьютер каким-то образом удаляет его. Попробуйте отключить антивирус.

5. drescherjm — спасибо за ваш совет. Я думаю, что проблема вызвана антивирусом. * .exe удаляется, если я создаю и пытаюсь запустить его вручную.

Ответ №1:

Я думаю, что мой антивирус удаляет файл * .exe. У меня нет прав на остановку или удаление антивируса, поэтому я не смогу устранить проблему на этом компьютере.