【问题标题】:Debugging in IronPython while using SharpDevelop 4使用 SharpDevelop 4 在 IronPython 中进行调试
【发布时间】:2014-10-30 02:48:08
【问题描述】:

我开始使用 SharpDevelop 和 IronPython,但在基本调试方面遇到了问题。

首先,如何处理未处理的错误?

在使用 Debug->Run 时,如果我的应用程序出现错误,ipy 控制台上会短暂闪烁一条消息,但应用程序会立即与 ipy 控制台一起关闭。这一定是一个简单的解决方法,但我一直很难找到它。

如果我使用 Debug->“Run without debugger”,我确实会收到一条编译后未处理的异常错误消息,但它的格式对于一个体面大小的应用程序来说很难解析。

其次,“监视”窗口似乎几乎没用。它似乎无法识别python表单控件对象(即“self._textBox1”),并且经常抛出未处理的异常。

第三,上下文帮助似乎比我对 python IDE 所期望的要少得多,尤其是在那些相同的表单控件上。以类似的方式,在断点上将鼠标箭头放在变量上很少会显示任何东西。

所以也许我的环境配置错误!如果有人完成了全部或大部分工作,我很想听听(或被指出)如何解决这个问题。 GUI 表单设计器很酷,但不值得经常调试麻烦。

编辑:我认为,我选择的答案表明,我现在真的不建议将 SharpDevelop 与 IronPython 一起使用。

【问题讨论】:

    标签: ironpython sharpdevelop


    【解决方案1】:

    SharpDevelop 中的 IronPython 支持相当基础,并且有很多限制。

    我会考虑改用Python Tools for Visual Studio,它是免费的、开源的,由微软的一个团队维护。它有更好的代码完成和调试支持。

    与 SharpDevelop 相比,它唯一没有的东西是:

    1. 表单设计器
    2. 支持将代码转换为 IronPython(C# 到 Python)。

    【讨论】:

    • 表单设计器是我首先选择 IronPython 的主要原因。否则,为什么不直接使用 PyQt 或 PySide 之类的东西呢?您可以将 Qt Designer 用于表单。但是我听说你可以在 C# 中设计表单并将它们子类化,尽管我没有看到很多人这样做。
    • 是的,可以使用 PyQt 或 PySide。我建议使用 Python Tools for Visual Studio,因为它是一个类似于 SharpDevelop 的 IDE,这是唯一的原因。是的,您可以使用 WinForms 设计器在 C# 中创建一个表单,然后在 IronPython 中对其进行子类化。在 IronPython 代码中,您可以从不同的 Form 类继承或直接使用自定义表单。
    • 嘿,愚蠢的问题:你怎么知道 SharpDevelop 对 IronPython 有“很多限制”?我觉得我看到了,但我想告诉我的老板一些“备份”。
    • 我知道是因为我为 SharpDevelop 编写了 IronPython 插件 :)
    • 哈哈!那是很好的备份!是的,在我的问题中,你的回答确实是最好的回答。
    【解决方案2】:

    这比评论有点长,所以为了清楚起见,我只是把它作为一个答案。

    我自己我仍然不喜欢 Python Tools For VS 没有 GUI 编辑器 - 所以我决定尝试使用 SharpDevelop - 我遇到了上述问题 - 但只是发现以下线程很有用(也由 Matt Ward 回答- 谢谢你,干杯!)http://community.sharpdevelop.net/forums/p/16639/45253.aspx

    所以,首先我在 ToolStripButtons 上也有一些默认位图,它们在开始时导致异常闪烁并消失 - 我通过在项目所在的位置并调用命令提示符看到了异常ipy Program.py 那里(我后来发现实际上sharpdevelop编译东西 - 没有意识到VS)

    然后我能够通过实际上不选择调试,而是选择单步执行来实际调试和命中断点。这有点麻烦,不知道程序会在哪里崩溃等并尝试各种断点等,但我真的很喜欢 SharpDevelop 中的 GUI 设计器,它真的很整洁,而且我对它不在 VS+IronPython 中的事实感到震惊..

    是的。手表等不经常工作,并导致 SharpDevelop 本身出现异常 - 所以我不会依赖它们 - 但是好的 - 这对我来说无关紧要,很多......我希望:P

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      相关资源
      最近更新 更多