{"id":116,"date":"2014-05-14T11:00:08","date_gmt":"2014-05-14T08:00:08","guid":{"rendered":"http:\/\/gronlier.fr\/blog\/?p=116"},"modified":"2020-03-30T12:43:45","modified_gmt":"2020-03-30T09:43:45","slug":"winpdb-with-python3","status":"publish","type":"post","link":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/","title":{"rendered":"Winpdb with Python3"},"content":{"rendered":"<p>You need to have python2.7 installed.<\/p>\n<ol>\n<li>\n<pre>cd \/usr\/lib\/python3\/dist-packages\/<\/pre>\n<\/li>\n<li>\n<pre>cp \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py .<\/pre>\n<\/li>\n<li>Apply <a href=\"https:\/\/groups.google.com\/forum\/#!topic\/winpdb\/J9rUYIvlkE0\" target=\"_blank\" rel=\"noopener noreferrer\">patch<\/a>\n<pre class=\"lang:diff decode:true\" title=\"rpdb2_3.3\">--- \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py   2010-08-17 22:12:52.000000000 +0300\r\n+++ rpdb2.py    2014-05-14 10:37:29.559752856 +0300\r\n@@ -7280,7 +7280,7 @@\r\n         Set rpdb2 to wrap all signal handlers.\r\n         \"\"\"\r\n         for key, value in list(vars(signal).items()):\r\n-            if not key.startswith('SIG') or key in ['SIG_IGN', 'SIG_DFL', 'SIGRTMIN', 'SIGRTMAX']:\r\n+            if not key.startswith('SIG') or key in ['SIG_IGN', 'SIG_DFL', 'SIGRTMIN', 'SIGRTMAX', 'SIG_BLOCK', 'SIG_BLOCK', 'SIG_UNBLOCK', 'SIG_SETMASK']:\r\n                 continue\r\n \r\n             handler = signal.getsignal(value)\r\n<\/pre>\n<p>&nbsp;<\/li>\n<li>Start Winpdb using python2<\/li>\n<li>Start rpdb2 using python3\n<pre>python3 \/usr\/lib\/python3\/dist-packages\/rpdb2.py --debuggee myscript.py<\/pre>\n<\/li>\n<li>Attach the newly created debugger to Winpdb.<\/li>\n<\/ol>\n<div class='skype-share' data-href='https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/' data-lang='auto' data-style='large' data-source='WordPress' ><\/div><div style='clear:both;padding-bottom:10px;'><\/div>\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=ticapix\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>You need to have python2.7 installed. cd \/usr\/lib\/python3\/dist-packages\/ cp \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py . Apply patch --- \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py 2010-08-17 22:12:52.000000000 +0300 +++ rpdb2.py 2014-05-14 10:37:29.559752856 +0300 @@ -7280,7 +7280,7 @@ Set rpdb2 to wrap all signal handlers. \"\"\" for key, value in list(vars(signal).items()): - if not key.startswith('SIG') or key in ['SIG_IGN', 'SIG_DFL', 'SIGRTMIN', 'SIGRTMAX']: + if not key.startswith('SIG') &hellip; <a href=\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Winpdb with Python3<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[13],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Winpdb with Python3 - Bits and Bytes<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Winpdb with Python3 - Bits and Bytes\" \/>\n<meta property=\"og:description\" content=\"You need to have python2.7 installed. cd \/usr\/lib\/python3\/dist-packages\/ cp \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py . Apply patch --- \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py 2010-08-17 22:12:52.000000000 +0300 +++ rpdb2.py 2014-05-14 10:37:29.559752856 +0300 @@ -7280,7 +7280,7 @@ Set rpdb2 to wrap all signal handlers. &quot;&quot;&quot; for key, value in list(vars(signal).items()): - if not key.startswith(&#039;SIG&#039;) or key in [&#039;SIG_IGN&#039;, &#039;SIG_DFL&#039;, &#039;SIGRTMIN&#039;, &#039;SIGRTMAX&#039;]: + if not key.startswith(&#039;SIG&#039;) &hellip; Continue reading Winpdb with Python3 &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\" \/>\n<meta property=\"og:site_name\" content=\"Bits and Bytes\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-14T08:00:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-30T09:43:45+00:00\" \/>\n<meta name=\"author\" content=\"ticapix\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ticapix\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\",\"url\":\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\",\"name\":\"Winpdb with Python3 - Bits and Bytes\",\"isPartOf\":{\"@id\":\"https:\/\/gronlier.fr\/blog\/#website\"},\"datePublished\":\"2014-05-14T08:00:08+00:00\",\"dateModified\":\"2020-03-30T09:43:45+00:00\",\"author\":{\"@id\":\"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/9abd8d0260a4d942d7069de75446e2bc\"},\"breadcrumb\":{\"@id\":\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/gronlier.fr\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Winpdb with Python3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gronlier.fr\/blog\/#website\",\"url\":\"https:\/\/gronlier.fr\/blog\/\",\"name\":\"Bits and Bytes\",\"description\":\"As the default template said: &quot;Just another WordPress site&quot;\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gronlier.fr\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/9abd8d0260a4d942d7069de75446e2bc\",\"name\":\"ticapix\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/94bba7228ec3665afea02078abebfa94?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/94bba7228ec3665afea02078abebfa94?s=96&d=monsterid&r=g\",\"caption\":\"ticapix\"},\"url\":\"https:\/\/gronlier.fr\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Winpdb with Python3 - Bits and Bytes","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/","og_locale":"en_US","og_type":"article","og_title":"Winpdb with Python3 - Bits and Bytes","og_description":"You need to have python2.7 installed. cd \/usr\/lib\/python3\/dist-packages\/ cp \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py . Apply patch --- \/usr\/lib\/python2.7\/dist-packages\/rpdb2.py 2010-08-17 22:12:52.000000000 +0300 +++ rpdb2.py 2014-05-14 10:37:29.559752856 +0300 @@ -7280,7 +7280,7 @@ Set rpdb2 to wrap all signal handlers. \"\"\" for key, value in list(vars(signal).items()): - if not key.startswith('SIG') or key in ['SIG_IGN', 'SIG_DFL', 'SIGRTMIN', 'SIGRTMAX']: + if not key.startswith('SIG') &hellip; Continue reading Winpdb with Python3 &rarr;","og_url":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/","og_site_name":"Bits and Bytes","article_published_time":"2014-05-14T08:00:08+00:00","article_modified_time":"2020-03-30T09:43:45+00:00","author":"ticapix","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ticapix","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/","url":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/","name":"Winpdb with Python3 - Bits and Bytes","isPartOf":{"@id":"https:\/\/gronlier.fr\/blog\/#website"},"datePublished":"2014-05-14T08:00:08+00:00","dateModified":"2020-03-30T09:43:45+00:00","author":{"@id":"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/9abd8d0260a4d942d7069de75446e2bc"},"breadcrumb":{"@id":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gronlier.fr\/blog\/2014\/05\/winpdb-with-python3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gronlier.fr\/blog\/"},{"@type":"ListItem","position":2,"name":"Winpdb with Python3"}]},{"@type":"WebSite","@id":"https:\/\/gronlier.fr\/blog\/#website","url":"https:\/\/gronlier.fr\/blog\/","name":"Bits and Bytes","description":"As the default template said: &quot;Just another WordPress site&quot;","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gronlier.fr\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/9abd8d0260a4d942d7069de75446e2bc","name":"ticapix","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gronlier.fr\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/94bba7228ec3665afea02078abebfa94?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94bba7228ec3665afea02078abebfa94?s=96&d=monsterid&r=g","caption":"ticapix"},"url":"https:\/\/gronlier.fr\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/posts\/116"}],"collection":[{"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/comments?post=116"}],"version-history":[{"count":5,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/posts\/116\/revisions"}],"predecessor-version":[{"id":327,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/posts\/116\/revisions\/327"}],"wp:attachment":[{"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/media?parent=116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/categories?post=116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gronlier.fr\/blog\/wp-json\/wp\/v2\/tags?post=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}