本文整理汇总了Python中wdb.Wdb.make_server方法的典型用法代码示例。如果您正苦于以下问题:Python Wdb.make_server方法的具体用法?Python Wdb.make_server怎么用?Python Wdb.make_server使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wdb.Wdb
的用法示例。
在下文中一共展示了Wdb.make_server方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: init_new_wdbr
# 需要导入模块: from wdb import Wdb [as 别名]
# 或者: from wdb.Wdb import make_server [as 别名]
def init_new_wdbr(frame, event, args):
"""First settrace call start the debugger for the current thread"""
import threading
import sys
from wdb import Wdb
thread = threading.currentThread()
if getattr(thread, 'no_trace', False):
sys.settrace(None)
return
wdbr_thread = Wdb.make_server()
thread._wdbr = wdbr_thread
frame = sys._getframe().f_back
wdbr_thread.stopframe = frame
wdbr_thread.botframe = frame
while frame:
frame.f_trace = wdbr_thread.trace_dispatch
frame = frame.f_back
wdbr_thread.stoplineno = -1
def trace(frame, event, arg):
rv = wdbr_thread.trace_dispatch(frame, event, arg)
fn = frame.f_code.co_filename
if (rv is None and not
(fn == os.path.abspath(fn) or fn.startswith('<')) and not
fn.startswith(
os.path.dirname(os.path.abspath(sys.argv[0])))):
return
return trace
sys.settrace(trace)
return wdbr_thread.trace_dispatch
示例2: tracing_fork
# 需要导入模块: from wdb import Wdb [as 别名]
# 或者: from wdb.Wdb import make_server [as 别名]
def tracing_fork():
import sys
import multiprocessing
from wdb import Wdb
pid = osfork()
if pid == 0:
# Doesn't work with Wdb.trace()...
sys.settrace(None)
wdbr_process = Wdb.make_server()
def trace(frame, event, arg):
process = multiprocessing.current_process()
if not hasattr(process, '_wdbr'):
process._wdbr = wdbr_process
rv = wdbr_process.trace_dispatch(frame, event, arg)
fn = frame.f_code.co_filename
if (rv is None and
(fn == os.path.abspath(fn) or fn.startswith('<')) and not
fn.startswith(
os.path.dirname(os.path.abspath(sys.argv[0])))):
return
return trace
frame = sys._getframe().f_back
wdbr_process.stoplineno = -1
wdbr_process.stopframe = frame
while frame:
frame.f_trace = wdbr_process.trace_dispatch
wdbr_process.botframe = frame
frame = frame.f_back
sys.settrace(trace)
return pid