如何使用pdb调试Splunk应用程序?

时间:2019-01-10 13:28:42

标签: python splunk pdb

如何在Splunk应用程序(意味着:由Splunk开发并运行的应用程序)中生成类似pdb的调试器?

我无法控制python进程本身,因此仅将import pdb; pdb.set_trace()放入代码中只会导致Web应用崩溃。

我想理想的解决方案是

  • 要么手动运行Splunk的python部分,所以我可以控制它(我尝试过this,但是它无法正常工作; mongodb守护程序没有启动,等等)
  • 使用良好的旧import pdb; pdb.set_trace()断点,但以某种方式附加到该过程,因此我能够操纵调试器(我尝试过gdb,但没有按预期工作,也许我没有正确使用)

1 个答案:

答案 0 :(得分:1)

一种调试方式可能是远程调试器,例如pdb。 它的行为类似于from remote_pdb import RemotePdb RemotePdb('127.0.0.1', 4444).set_trace() 。您可以设置一个断点,然后配置调试器将侦听的接口和TCP端口。

telnet 127.0.0.1 4444

之后,您只需使用telnet public class GenericDo { public DateTime CreatedDate {get;set;} public string CreatedBy {get;set;} } public class UsersDo : GenericDo { public int UserId {get;set;} public string Username {get;set;} .... } public class UserProfileDo : GenericDo { public int Id {get;set} public int UserId {get;set;} public string Address {get;set;} .... }

连接到调试器。

更多信息: https://pypi.org/project/remote-pdb/