[Edit1:]
Для seqName я объявляю его как глобальный параметр в начале файла как
char seqName [20];
[Edit2:]
Разве это не количество переходов в программу во время фактического выполнения?Я получил следующее сообщение, просто используя инструмент valgrind.Вводимая мной команда:
jl @ ubuntu: ~ / work / dsr_analysis $ valgrind --tool = memcheck --leak-check = yes ./test
[Edit3:]
Извините, так как я новый пользователь Valgrind, когда я его использую, я набираю только команду в Edit2.
Однако моя доза программы имеет некоторую командную строкупараметры.
Поэтому я думаю, что лучше отладить мою программу с помощью новой команды:
valgrind --tool = memcheck --leak-check = yes ./testforeman.cif 352 288
Есть часть моей программы:
height = atoi(argv[3]);
width = atoi(argv[2]);
sprintf(seqName,"%s", argv[1]);
// strcpy(seqName, argv[1]);
После компиляции генерируется тест exe-файла, затем я использую Valgrind дляПроверь это.Затем я получил следующее сообщение, однако я не могу понять, что оно говорит мне.Кто-нибудь может оказать какую-то помощь, Спасибо.
jl @ ubuntu: ~ / work / dsr_analysis $ valgrind --tool = memcheck --leak-check = yes ./test
== 28940 == Memcheck, детектор ошибок памяти
== 28940 == Copyright (C) 2002-2009 и GNU GPL'd, Джулиан Сьюард и др.
== 28940 == Использование Valgrind-3.6.0.SVN-Debian и LibVEX;
перезапустить с -h для получения информации об авторских правах
== 28940 == Команда: ./test
== 28940 ==
== 28940 == Недопустимое чтение размера 1
== 28940 == в 0x40260CA: strcpy (mc_replace_strmem.c: 311)
== 28940 == по 0x804A5C6: main (me_search.c: 1428)
== 28940 == Адрес 0x0 не является стековым, malloc'd или (недавно) свободным 'd
== 28940 ==
== 28940 ==
== 28940 == Процесс завершается с действием по умолчанию для сигнала 11 (SIGSEGV)
== 28940 == Доступ не в сопоставленной области по адресу 0x0
== 28940 == по адресу 0x40260CA: strcpy (mc_replace_strmem.c: 311)
== 28940 == by 0x804A5C6: main (me_search.c: 1428)
== 28940 == Если вы считаете, что это произошло в результате стека
== 28940 == переполнение в главном потоке вашей программы (маловероятно, но
== 28940 == возможно), вы можете попытаться увеличить размер
== 28940 == стека основного потока, используя --main-stacksize = flag.
== 28940 == Размер стека основного потока, использованный в этом цикле, был 8388608.
== 28940 ==
== 28940== РЕЗЮМЕ HEAP:
== 28940 == используется на выходе: 0 байтов в 0 блоках
== 28940 == общее использование кучи: 0 выделяет, 0 освобождает, 0 выделяет байты
== 28940 ==
== 28940 == Все блоки кучи были освобождены - утечки невозможны
== 28940 ==
== 28940 == Для подсчета обнаруженных и подавленных ошибок, повторно запустите: -v
== 28940 == РЕЗЮМЕ ОШИБКИ: 1 ошибка из 1 контекста (исключено: 13 из 8) 1 контекст (исключено: 13из 8)
1 контекстов (исключено: 13 из 8)