混合模式调试 Python/C# 使用子进程调试强大工具
Mixed mode Debugging Python/C# using Child Process Debugging Power Tool
我正在尝试调试(命中断点)python 脚本,该脚本通过 C# 的新进程执行。
我已经安装了 Child Process Debugging Power tool,因为据说该工具允许这样做。
根据其文档,它需要两件事:
- 必须使用本机调试引擎调试父进程
- 父进程必须使用 CreateProcess 或 CreateProcessAsUser Win32 API 启动子进程。
我的流程创建如下:
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardInput = false;
...
p.StartInfo = startInfo;
p.EnableRaisingEvents = true;
p.Start();
据我所知,只要我使用
UseShellExecute = false;
进程应使用 CreateProcess 启动。 (要求 2)
在我的项目中,我还启用了本机代码调试。 (要求 1)
我还在我的交易品种列表中包含了 python.pdb 和 python36.pdb。
但是我似乎找不到 python3.pdb
'python.exe' (Win32): Loaded 'C:\...\Python36\python.exe'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\Python36\python36.dll'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\python3.dll'. Cannot find or open the PDB file.
当我使用调试符号安装 python 时并没有包括这个,我似乎在其他任何地方都找不到它。
我用的是visual studio2017,没有断点
如果有人遇到这个问题,请快速更新 post。
我联系了这个工具的创建者,尽管它的描述可能表明我在这里尝试做的事情应该有效,但它没有。
与我交谈的人说他会与他的 python 团队讨论这个问题,但我已经几个月没有听到任何消息,所以我认为这不会很快发生。
我正在尝试调试(命中断点)python 脚本,该脚本通过 C# 的新进程执行。
我已经安装了 Child Process Debugging Power tool,因为据说该工具允许这样做。
根据其文档,它需要两件事:
- 必须使用本机调试引擎调试父进程
- 父进程必须使用 CreateProcess 或 CreateProcessAsUser Win32 API 启动子进程。
我的流程创建如下:
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardInput = false;
...
p.StartInfo = startInfo;
p.EnableRaisingEvents = true;
p.Start();
据我所知,只要我使用
UseShellExecute = false;
进程应使用 CreateProcess 启动。 (要求 2)
在我的项目中,我还启用了本机代码调试。 (要求 1)
我还在我的交易品种列表中包含了 python.pdb 和 python36.pdb。 但是我似乎找不到 python3.pdb
'python.exe' (Win32): Loaded 'C:\...\Python36\python.exe'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\Python36\python36.dll'. Symbols loaded.
'python.exe' (Win32): Loaded 'C:\...\python3.dll'. Cannot find or open the PDB file.
当我使用调试符号安装 python 时并没有包括这个,我似乎在其他任何地方都找不到它。
我用的是visual studio2017,没有断点
如果有人遇到这个问题,请快速更新 post。
我联系了这个工具的创建者,尽管它的描述可能表明我在这里尝试做的事情应该有效,但它没有。
与我交谈的人说他会与他的 python 团队讨论这个问题,但我已经几个月没有听到任何消息,所以我认为这不会很快发生。