2016-07-02 5 views
0

Je lance la commande Cscope en utilisant cmd dans Winform.Parfois, il retourne avec succès et donne parfois (la plupart du temps) cygwin_exception :: open_stackdumpfile: Dumping stack trace à cscope.exe.stackdumpcygwin_exception :: open_stackdumpfile: Dump la trace de la pile vers cscope.exe.stackdump

Je ne suis pas en mesure d'identifier le problème. Code de C# qui se transforme en commande est ci-dessous:

Code:

CalledFunctionsNameCmdArgument = "/C cscope -k -u "+ FileNameAlongWIthDirectoryPath(in Windows Style i.e. G:\ABC\DEF.c) + " -L -3 " + @""".*""" + " | gawk '{$1=" + "\"" + "\"" + "; $3=" + "\"" + "\"" + ";sub(" + "\"" + " \"" + ", " + "\"" + "\"" + ");" + "sub(" + "\"" + " \"" + ", " + "\"" + "#" + "\"" + ");" + "print}' > " + OutputDirectory(In linux Style i.e. G:/ABC/DEF) 

sortie de ligne de code mentionné ci-dessus est:

/C cscope -k -u FileNameAlongWIthDirectoryPath -L -3 ".*" | gawk '{$1=""; $3="";sub(" ", "");sub(" ", "#");print}' > OutputDirectory 

Que peut-être la question?

Stack Trace Dump

Exception: STATUS_ACCESS_VIOLATION at rip=0010040DCE8  
rax=0000000000000035 rbx=0000000000000001 rcx=0000000000000001  
rdx=0000000600055CE0 rsi=0000000600055CE0 rdi=0000000000000001  
r8 =00000000FFFFB7BC r9 =00000001801523A0 r10=0000000100000000  
r11=000000010040DF72 r12=00000000FFFFBE00 r13=00000001004DCDA8  
r14=0000000000000000 r15=00000001004DC880  
rbp=0000000000000000 rsp=00000000FFFFBA60  
program=G:\Cygwin\usr\local\bin\cscope.exe, pid 64364, thread main 
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B  
Stack trace:  
Frame  Function Args  
00000000000 0010040DCE8 (0060007A3CA, 0000000000A, 00180042D46, 000FFFFBFE0)  
000FFFFBB00 0010040EF1B (00100430038, 000FFFFCC70, 00000000006, 000FFFFCC70)  
00100430038 0010040C676 (001000001C0, 000FFFFC8F0, 001004DCEE0, 0000000FB6C)  
00100430038 0010042F7AA (00180276D60, 006000283A0, 00000000000, 000FFFFCCC0)  
000FFFFCCC0 00180047BD2 (00000000000, 00000000000, 00000000000, 00000000000)  
00000000000 0018004591C (00000000000, 00000000000, 00000000000, 00000000000)  
000FFFFFFF0 001800459B4 (00000000000, 00000000000, 00000000000, 00000000000)  
End of stack trace  
+0

Sans regarder le contenu de cscope.exe.stackdump est difficile à dire. Le même problème se produit-il dans cygwin pour les mêmes données? – matzeri

+0

Non lorsque j'exécute la même commande dans même dans CMD, je ne reçois pas une telle erreur. –

+0

J'ai ajouté le contenu à la question. –

Répondre

0

Bien que je ne pouvais pas trouver la cause exacte du problème, mais je suppose que c'était de permission.I de fichiers nécessaires pour modifier le fichier (Résultat d'une autre commande « unifdef ») et sauvé le résultat dans un autre fichier, puis fournissant ces fichiers résultants à la cscope n'a pas créé de problème.Enregistrant le fichier après l'application de la commande unifdef, en quelque sorte changé les autorisations de fichiers (je suppose pas à cause de unifdef mais en sauvegardant le fichier des dossiers).