Я использую Windows 7 Профессиональная.
Я пытаюсь отладить простой код 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: %d\n", 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: %lld\n", 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 today\n");
scanf("%lld", &q);
}
printf("Day: %d\nQueries received today: %lld\nTotal of queries to read today: %lld\n", day, q, (ql + q));
if ((q + ql) > k) {
ql = q + ql - k;
printf("q: %lld\n", q);
printf("ql: %lld\n", ql);
printf("k: %lld\n", k);
}
else {
ql = 0;
break;
}
printf("Left queries to the next day: %lld\n", ql);
day++;
}
printf("#########################################\n");
printf("#########################################\n");
printf("Day with free time: %d\n", day);
printf("#########################################\n");
printf("#########################################\n");
return 0;
}
Сообщение "Источник недоступен"
Я поставил точку останова в начале кода и заметил, что он генерирует исключение в строке "scanf("%lld", &q);". Вот информация об исключении: «Исключение возникло по адресу 0x0000000076E6756E (ntdll.dll) в ChefAndEasyQueries.exe: 0xC0000005: место записи нарушения прав доступа 0x000000000000000000».
Сообщение «Невозможно запустить программу»
Файл .exe находится не в указанном каталоге. Я не знаю, создает ли Visual Studio файл или мой компьютер каким-то образом удаляет его.
Почему вы используете Windows 7 в 2020 году?
Ваш код дает сбой, и он падает в библиотечном коде, для которого у вас нет исходного кода. Скорее всего, это связано с параметрами, которые вы передаете scanf
.
Я не могу найти .exe файл в указанном каталоге. Я не знаю, создает ли Visual Studio файл или мой компьютер каким-то образом удаляет его. Попробуйте отключить антивирус.
Дай: «Почему вы используете Windows 7 в 2020 году?». Это корпоративный ПК. Я не хочу использовать Windows 7.
Вы смотрели на вывод во время сборки x86? Есть ошибки?
drescherjm - спасибо за подсказку. Думаю проблема в антивирусе. *.exe удаляется, если я создаю и пытаюсь запустить его вручную.
крашмстр. Проверил вывод, ошибок нет. Я также попытался запустить тот же код на другом ПК, и он работает нормально. Поэтому я действительно думаю, что проблема связана с антивирусом, который я установил на этот компьютер.
Я думаю, что мой антивирус удаляет файл *.exe. У меня нет прав на остановку или удаление антивируса, поэтому я не смогу решить проблему на этом ПК.
Я думаю, вы хотите переключить Thread в этом случае на MainThread.