Я пробую что-то вроде этого:
python.txt:
Код: Выделить всё
import pdb
def func():
pdb.set_trace()
//code for debugging...
Код: Выделить всё
var pythonCode = File.ReadAllText(@"D:\python.txt");
Runtime.PythonDLL = @"D:\Python38\python38.dll";
PythonEngine.Initialize();
using (Py.GIL())
{
var pyModule = Py.CreateScope("scope");
pyModule.Exec(pythonCode);
}
Task.Run(() =>
{
using (Py.GIL())
{
pyModule.Exec("func()");
}
});
//some code
В коде C# я выполняю функцию Python в другом потоке, чтобы не блокировать основной поток службы, ожидающий ввода команды. Если я ввожу команды вручную, используя внутреннюю консоль VSCode, это работает. Но мне нужно передать команды отладчика из графического интерфейса через мою рабочую службу.
Как передать эти команды на стандартный ввод для программного выполнения кода Python из службы?
Подробнее здесь: https://stackoverflow.com/questions/781 ... et-and-pdb
Мобильная версия