"fakesource" 在 python pdb 调试会话中指的是什么?
What does "fakesource" refer to in a python pdb debugging session?
我正在尝试深入了解我的 Bokeh 应用程序的内部结构,以了解 AjaxDataSource 是如何在底层工作的,从而获得一些灵感,通过必要基础的自定义扩展为我的应用程序概括远程源 类.
我能够在函数的前面加入大量的 pdb,但在深入研究 circle
函数时,我遇到了调试器落在 fakesource 上的限制,如下所示。这是下面的 python 来源...
def modify_doc1(doc):
# get model data from Flask
url = "http://localhost:8080/sendModelData/"
pdb.set_trace()
source = AjaxDataSource( data = dict( x=[] , y=[] ) ,
data_url = url ,
polling_interval = 5000 ,
mode = 'replace' ,
method = 'GET' )
# plot the model data
plot = figure( )
plot.circle( 'x' , 'y' , source=source , size=2 )
doc.add_root(column(plot))
> C:\MyBokehApp\flask_embedjsonroute.py(43)modify_doc1()
-> plot.circle( 'x' , 'y' , source=source , size=2 )
(Pdb) s
--Call--
> C:\MyBokehApp\fakesource(2)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(3)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(4)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(5)circle()
(Pdb) n
--Return--
我很好奇这到底在传达什么?我在 html 文件输入上下文中看到 fakepath
但 fakesource
对 python 源代码和调试器意味着什么?这是说我正在使用二进制实现或汇编代码还是什么?
在这种情况下,plot.circle
是 bokeh
库在 运行 时生成的函数。为了生成此函数,bokeh
动态创建了一些源代码并将其编译为 python 函数。
编译此类源代码时,可以给出一个 文件名 来指示其来源。这允许 pdb
等工具加载该源以便向您展示。在这种情况下,bokeh
已将此 文件名 设置为 fakesource
。
(负责此代码的代码是bokeh.plotting.helpers
,如果您想自己查看)
我正在尝试深入了解我的 Bokeh 应用程序的内部结构,以了解 AjaxDataSource 是如何在底层工作的,从而获得一些灵感,通过必要基础的自定义扩展为我的应用程序概括远程源 类.
我能够在函数的前面加入大量的 pdb,但在深入研究 circle
函数时,我遇到了调试器落在 fakesource 上的限制,如下所示。这是下面的 python 来源...
def modify_doc1(doc):
# get model data from Flask
url = "http://localhost:8080/sendModelData/"
pdb.set_trace()
source = AjaxDataSource( data = dict( x=[] , y=[] ) ,
data_url = url ,
polling_interval = 5000 ,
mode = 'replace' ,
method = 'GET' )
# plot the model data
plot = figure( )
plot.circle( 'x' , 'y' , source=source , size=2 )
doc.add_root(column(plot))
> C:\MyBokehApp\flask_embedjsonroute.py(43)modify_doc1()
-> plot.circle( 'x' , 'y' , source=source , size=2 )
(Pdb) s
--Call--
> C:\MyBokehApp\fakesource(2)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(3)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(4)circle()
(Pdb) n
> C:\MyBokehApp\fakesource(5)circle()
(Pdb) n
--Return--
我很好奇这到底在传达什么?我在 html 文件输入上下文中看到 fakepath
但 fakesource
对 python 源代码和调试器意味着什么?这是说我正在使用二进制实现或汇编代码还是什么?
在这种情况下,plot.circle
是 bokeh
库在 运行 时生成的函数。为了生成此函数,bokeh
动态创建了一些源代码并将其编译为 python 函数。
编译此类源代码时,可以给出一个 文件名 来指示其来源。这允许 pdb
等工具加载该源以便向您展示。在这种情况下,bokeh
已将此 文件名 设置为 fakesource
。
(负责此代码的代码是bokeh.plotting.helpers
,如果您想自己查看)