Python 使用“运行远程调试时出错”;ptvsd";
我已开始使用visual studio代码进行远程调试,但无法使其正常工作。远程和本地开发PC都运行4.1.3版ptvsd。远程计算机具有以下脚本:Python 使用“运行远程调试时出错”;ptvsd";,python,debugging,visual-studio-code,Python,Debugging,Visual Studio Code,我已开始使用visual studio代码进行远程调试,但无法使其正常工作。远程和本地开发PC都运行4.1.3版ptvsd。远程计算机具有以下脚本: import ptvsd ptvsd.enable_attach() #Enable the below line of code only if you want the application to wait untill the debugger has att$ #ptvsd.wait_for_attach() import rando
import ptvsd
ptvsd.enable_attach()
#Enable the below line of code only if you want the application to wait untill the debugger has att$
#ptvsd.wait_for_attach()
import random
guesses_made = 0
name = input('Hello! What is your name?\n')
number = random.randint(1, 20)
print('Well, {0}, I am thinking of a number between 1 and 20.'.format(name))
while guesses_made < 6:
guess = int(input('Take a guess: '))
guesses_made += 1
if guess < number:
print('Your guess is too low.')
if guess > number:
print('Your guess is too high.')
if guess == number:
break
if guess == number:
print('Good job, {0}! You guessed my number in {1} guesses!'.format(name, guesses_made))
else:
print('Nope. The number I was thinking of was {0}'.format(number))
这是我收到的错误:
> PS C:\IOT\Github\RaspberryPi\test_remote_debug> python
> .\test_remote_debug.py Traceback (most recent call last): File
> ".\test_remote_debug.py", line 2, in <module>
> ptvsd.enable_attach(address = ('192.34.98.197',3000)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\attach_server.py", line 72,
> in enable_attach
> redirect_output=redirect_output, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 85, in
> enable_attach
> suspend=False) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1313, in settrace
> stop_at_frame, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1362, in _locked_settrace
> debugger.connect(host, port) # Note: connect can raise error. File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 355, in connect
> s = start_client(host, port) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\pydevd_hooks.py", line 85,
> in <lambda>
> _start_client = (lambda h, p: start_client(daemon, h, p)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 72, in
> <lambda>
> start_client=(lambda daemon, h, port: start_daemon()), File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 64, in
> start_daemon
> _, next_session = daemon.start_server(addr=(host, port)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\daemon.py", line 157, in
> start_server
> self._server = create_server(addr.host, addr.port) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\socket.py", line 77, in
> create_server
> server.bind((host, port)) OSError: [WinError 10049] The requested address is not valid in its context PS
> C:\IOT\Github\RaspberryPi\test_remote_debug> python
> .\test_remote_debug.py Traceback (most recent call last): File
> ".\test_remote_debug.py", line 2, in <module>
> ptvsd.enable_attach(address = ('192.34.98.197',3000)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\attach_server.py", line 72,
> in enable_attach
> redirect_output=redirect_output, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 85, in
> enable_attach
> suspend=False) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1313, in settrace
> stop_at_frame, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1362, in _locked_settrace
> debugger.connect(host, port) # Note: connect can raise error. File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 355, in connect
> s = start_client(host, port) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\pydevd_hooks.py", line 85,
> in <lambda>
> _start_client = (lambda h, p: start_client(daemon, h, p)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 72, in
> <lambda>
> start_client=(lambda daemon, h, port: start_daemon()), File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 64, in
> start_daemon
> _, next_session = daemon.start_server(addr=(host, port)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\daemon.py", line 157, in
> start_server
> self._server = create_server(addr.host, addr.port) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\socket.py", line 77, in
> create_server
> server.bind((host, port)) OSError: [WinError 10049] The requested address is not valid in its context
PS C:\IOT\Github\RaspberryPi\test\u remote\u debug>python
>.\test\u remote\u debug.py回溯(最后一次调用):文件
>“\test\u remote\u debug.py”,第2行,在
>ptvsd.enable_attach(地址=('192.34.98.197',3000))文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\attach_server.py“,第72行,
>在“启用\附加”中
>重定向\u输出=重定向\u输出,文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第85行,在
>启用\u附加
>suspend=False)文件“C:\ProgramFiles(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py”,
>settrace中的第1313行
>在文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py”的框架中停止,
>第1362行,在_locked_settrace中
>调试器.connect(主机、端口)#注意:connect可能引发错误。文件“C:\程序文件
>(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py“,
>第355行,连接中
>s=start_客户端(主机、端口)文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\pydevd_hooks.py”,第85行,
>在
>_start_client=(lambda h,p:start_client(daemon,h,p))File“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第72行,在
>
>start_client=(lambda守护进程,h,端口:start_守护进程()),文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第64行,在
>启动守护进程
>下一个会话=守护进程。启动服务器(地址=(主机,端口))文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\daemon.py”,第157行,在
>启动服务器
>self.\u server=创建\u服务器(addr.host,addr.port)文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\socket.py”,第77行,在
>创建\u服务器
>server.bind((主机,端口))os错误:[WinError 10049]请求的地址在其上下文中无效
>C:\IOT\Github\RaspberryPi\test\u remote\u debug>python
>.\test\u remote\u debug.py回溯(最后一次调用):文件
>“\test\u remote\u debug.py”,第2行,在
>ptvsd.enable_attach(地址=('192.34.98.197',3000))文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\attach_server.py“,第72行,
>在“启用\附加”中
>重定向\u输出=重定向\u输出,文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第85行,在
>启用\u附加
>suspend=False)文件“C:\ProgramFiles(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py”,
>settrace中的第1313行
>在文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py”的框架中停止,
>第1362行,在_locked_settrace中
>调试器.connect(主机、端口)#注意:connect可能引发错误。文件“C:\程序文件
>(x86)\Python37-32\lib\site packages\ptvsd\\u vendored\pydevd\pydevd.py“,
>第355行,连接中
>s=start_客户端(主机、端口)文件“C:\Program Files(x86)\Python37-32\lib\site packages\ptvsd\pydevd_hooks.py”,第85行,
>在
>_start_client=(lambda h,p:start_client(daemon,h,p))File“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第72行,在
>
>start_client=(lambda守护进程,h,端口:start_守护进程()),文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\\u remote.py”,第64行,在
>启动守护进程
>下一个会话=守护进程。启动服务器(地址=(主机,端口))文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\daemon.py”,第157行,在
>启动服务器
>self.\u server=创建\u服务器(addr.host,addr.port)文件“C:\Program Files
>(x86)\Python37-32\lib\site packages\ptvsd\socket.py”,第77行,在
>创建\u服务器
>server.bind((主机,端口))os错误:[WinError 10049]请求的地址在其上下文中无效
如果有人知道如何更正此错误,请告诉我。您的
launch.json
已过时,因为它是为旧调试器配置的。请参阅以获取最新说明(例如,localRoot
和remoteRoote
应位于pathMappings
下)。更近一步,我现在让本地和远程计算机相互通信。我两次收到以下消息:pydev调试器:警告:尝试向不存在的文件添加断点:/home/pi/testdebug/C:/IOT/Github/RaspberryPi/test\u remote\u debug/test\u remote\u debug.py(将无效)。有什么想法吗?另外,我在上创建了另一个问题,因为这是一个不同的问题:您的路径看起来没有为localRoot
和remoteRoot
正确设置。如果您查看/home/pi/testdebug/C:/IOT/Github/RaspberryPi/test\u remote\u debug/test\u remote\u debug.py
,您会注意到似乎在Windows路径前面加了一些UNIX路径。
{
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceRoot}",
"remoteRoot": "/home/pi/testdebug/",
"port": 3000,
"secret": "my_secret",
"host":"localhost"
},
> PS C:\IOT\Github\RaspberryPi\test_remote_debug> python
> .\test_remote_debug.py Traceback (most recent call last): File
> ".\test_remote_debug.py", line 2, in <module>
> ptvsd.enable_attach(address = ('192.34.98.197',3000)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\attach_server.py", line 72,
> in enable_attach
> redirect_output=redirect_output, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 85, in
> enable_attach
> suspend=False) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1313, in settrace
> stop_at_frame, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1362, in _locked_settrace
> debugger.connect(host, port) # Note: connect can raise error. File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 355, in connect
> s = start_client(host, port) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\pydevd_hooks.py", line 85,
> in <lambda>
> _start_client = (lambda h, p: start_client(daemon, h, p)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 72, in
> <lambda>
> start_client=(lambda daemon, h, port: start_daemon()), File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 64, in
> start_daemon
> _, next_session = daemon.start_server(addr=(host, port)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\daemon.py", line 157, in
> start_server
> self._server = create_server(addr.host, addr.port) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\socket.py", line 77, in
> create_server
> server.bind((host, port)) OSError: [WinError 10049] The requested address is not valid in its context PS
> C:\IOT\Github\RaspberryPi\test_remote_debug> python
> .\test_remote_debug.py Traceback (most recent call last): File
> ".\test_remote_debug.py", line 2, in <module>
> ptvsd.enable_attach(address = ('192.34.98.197',3000)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\attach_server.py", line 72,
> in enable_attach
> redirect_output=redirect_output, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 85, in
> enable_attach
> suspend=False) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1313, in settrace
> stop_at_frame, File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 1362, in _locked_settrace
> debugger.connect(host, port) # Note: connect can raise error. File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_vendored\pydevd\pydevd.py",
> line 355, in connect
> s = start_client(host, port) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ptvsd\pydevd_hooks.py", line 85,
> in <lambda>
> _start_client = (lambda h, p: start_client(daemon, h, p)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 72, in
> <lambda>
> start_client=(lambda daemon, h, port: start_daemon()), File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\_remote.py", line 64, in
> start_daemon
> _, next_session = daemon.start_server(addr=(host, port)) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\daemon.py", line 157, in
> start_server
> self._server = create_server(addr.host, addr.port) File "C:\Program Files
> (x86)\Python37-32\lib\site-packages\ptvsd\socket.py", line 77, in
> create_server
> server.bind((host, port)) OSError: [WinError 10049] The requested address is not valid in its context