Hallo Leute,
Die Fehlermeldung:
process_easy: DuplicateHandle(In) failed (e=6)
"make.exe": Interrupt/Exception caught (code = 0xc0000005, addr =
0x422307)
kommt ja net von Windows, daher platziere ich das mal hier....
würde gern aus einem C#-Programm WinAVR make.exe starten. Im
8.3-DOS-Verzeichnis E:\EIGENE~1\PROJEK~1\MINIGE~1\ befinden sich
makefile und die *.c,*.h-Dateien, die sich herkömmlich auch kompilieren
lassen.
Folgendes funktioniert:
Process p = Process.Start("make.exe", @"-C E:\PROJEK~1\MINIGE~1\");
p.WaitForExit();
Ich möchte aber die Ausgabe in eine Textbox schreiben. Wenn ich daher
erweitere und folgendes probiere:
ProcessStartInfo psi = new ProcessStartInfo("make.exe");
psi.Arguments = @"-C E:\PROJEK~1\MINIGE~1\";
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
Process p = Process.Start(psi);
textBoxOut.Text = p.StandardOutput.ReadToEnd();
textBoxOut.Text += p.StandardError.ReadToEnd();
p.WaitForExit();
Bricht der Durchlauf folgendermaßen ab (Inhalt aus textBoxOut):
make.exe: Entering directory `E:/PROJEK~1/MINIGE~1'
set -e; avr-gcc -MM -mmcu=atmega8 -I. -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=uart.lst -std=gnu99 uart.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > uart.d; \
[ -s uart.d ] || rm -f uart.d
process_easy: DuplicateHandle(In) failed (e=6)
"make.exe": Interrupt/Exception caught (code = 0xc0000005, addr =
0x422307)
Vielleicht kennt jemand die Ursache oder ein würgarround?
Danke, Frank