Pour le seqname, je le déclare comme mondial paramètre au début du fichier sous la forme
char seqName [20];
[Edit2:]
ne sont pas ceux nombre de passage au programme au cours de l'exécution proprement dite? J'ai reçu le message suivant en utilisant l'outil valgrind. L'entrée de commande I est:
jl @ ubuntu: ~/travail/dsr_analysis $ valgrind --tool = memcheck --leak-check = yes ./test
[Edit3:]
Désolé, puisque je suis un nouvel utilisateur de Valgrind, quand je l'utilise, je ne tape que la commande dans Edit2. Cependant, ma dose de programme comporte certains paramètres de ligne de commande.
Par conséquent, je pense que je ferais mieux de déboguer mon programme par la nouvelle commande:
valgrind --tool = memcheck --leak-check = yes ./test foreman.cif 352 288
il y a un morceau de mon programme:
height = atoi(argv[3]);
width = atoi(argv[2]);
sprintf(seqName,"%s", argv[1]);
// strcpy(seqName, argv[1]);
Après verbalisateurs, un test de fichier exe est généré, puis-je utiliser Valgrind pour le vérifier. Puis j'ai reçu le message suivant, mais je n'arrive pas à comprendre ce qu'il a tendance à me dire. Quelqu'un peut-il fournir une aide aimable, Merci.
jl @ ubuntu: ~/travail/dsr_analysis $ valgrind --tool = memcheck --leak-check = yes ./test
== == 28940 MemCheck, un détecteur d'erreur de mémoire
== 28940 == Copyright (C) 2002-2009, et GNU GPL'd, par Julian Seward et al.
== 28940 == Utilisation de Valgrind-3.6.0.SVN-Debian et LibVEX;
réexécutés à l'-h pour les informations de copyright
== == 28940 Commande: ./test
== == 28940
== == 28940 lecture incorrecte de la taille 1
28940 == == à 0x40260CA: strcpy (mc_replace_strmem.c: 311)
28940 == == par 0x804A5C6: main (me_search.c: 1428)
== 28940 Adresse == 0x0 est pas stack'd, malloc'd ou (récemment) free'd
== == 28940
== == 28940
28940 == == processus se terminant par action par défaut de signal 11 (SIGSEGV)
28940 == == accès à l'intérieur de la région non cartographiée à l'adresse 0x0
28940 == == à 0x40260CA: strcpy (mc_replace _strmem.c: 311)
== == 28940 par 0x804A5C6: main (me_search.c: 1428)
== == 28940 Si vous pensez qu'il est arrivé à la suite d'une pile
== == 28940 débordement dans le thread principal de votre programme (peu probable mais
== == 28940 possible), vous pouvez essayer d'augmenter la taille de la
== 28940 pile principale de fil == utilisant le - -main-stacksize = drapeau.
28940 == == La taille de la pile principale de fil utilisé dans cet essai était 8388608.
28940 == ==
28940 == == PGRPI RÉSUMÉ:
28940 == = = en cours d'utilisation, à la sortie: 0 octets 0 blocs
28940 == == d'utilisation du tas total: 0 allocs, 0 libère les, 0 octets alloués
28940 == ==
== == 28940 Tous les blocs de tas ont été libérés - pas de fuite sont possibles
== == 28940
== == 28940 Pour nombre d'erreurs détectées et réprimées, avec reprise: -v
28940 == == RÉSUMÉ dE L 'erreur: 1 erreurs de contextes (1 supprimés: 13 à partir de 8 contextes) 1 (supprimé: 13 à partir de 8)
1 contextes (supprimé: 13 de 8)
merci beaucoup, Neil. J'apprends beaucoup de toi. – MaiTiano
Je ne le supporterai pas. Le Général Zod doit être argumenté devant les simples paysans «foo» et «bar»! –
* J'ai toujours pensé que la séquence allait "foo, bar, baz, quux" – caf