很容易将golang死机重定向到一个文件,只需使用recover()捕获并使用syscall.Dup2()重定向即可。但是当涉及到C语言的死机时,它似乎是无用的,就像图像一样,控制台将显示错误消息,如“致命错误:运行时执行期间的意外信号”和一些堆栈消息。如何将这些错误消息重定向到文件
package main
/*
#include <stdio.h>
void sayHi(int a, int b) {
int c = a/b;
}
*/
import "C"
import (
"runtime/debug"
"syscall"
我需要将错误消息从控制台重定向到文件。对于这个例子,我需要将错误消息插入到文件中:
Traceback (most recent call last):
File "C:/Users/", line 5, in <module>
1/0
ZeroDivisionError: division by zero"
我已经试过这样做了:
from contextlib import redirect_stdout
with open('error.txt', 'w') as f:
with redirect_s
在下面的测试程序中,错误输出被正确地写入Error.txt。
using System;
using System.IO;
public class Test{
public static void Main(string[] args){
Console.SetOut(new StreamWriter("Output.txt", true));
Console.SetError(new StreamWriter("Error.txt", true));
int[] test = new int[1];
Console.Erro