3

Community Edition PyCharm 4.5.1 を使用しており、CGI python スクリプトを開発しています。私のニーズは、デバッガーを開始し、HTTP クライアントによって呼び出されたら、スクリプトをアタッチすることです (その後、最初のブレークポイントにブレークします)。

できるかどうかわかりませんが、願っています。Python サーバーから、私の CGI スクリプトを呼び出す HTML/JavaScript コードまで、すべて正常に動作します。また、正常に起動したばかりの Python スクリプトを完全にデバッグできます。しかし、問題は、スクリプトを開始するのは HTTP サーバーであり、私 (コマンド ラインから) でもデバッガー自体でもないことです。

何か案が?ありがとう!

4

2 に答える 2

0

CentOS で pycharm を使用すると、あなたと同じ問題に遭遇しましたが、pycharm が wi​​ndows で cgi スクリプトに自動的アタッチできることがわかったので、CGIRequestHandler のソース コードをたどってみました。CGIRequestHandler.run_cgi( )機能、Linuxではフォーク、Windowsではサブプロセスを使用するため、子プロセスを作成するこれら2つの異なる方法が異なる結果につながる可能性があると思います。だから私は次のコードを試して、Linuxでサブプロセスを強制するとうまくいきます!

    CGIHTTPRequestHandler.have_fork = 0
    httpd = HTTPServer(('', port), CGIHTTPRequestHandler)        
于 2016-03-12T02:46:47.313 に答える
0

私の知る限り、スクリプトに入れただけです

import cgitb    
cgitb.enable()  
print "Content-type: text/html\n\n"

そして、それ自体がデバッグされています。

于 2015-06-16T01:46:14.673 に答える