在Ableton Live中调试Python

在Ableton Live中调试Python,python,debugging,script-debugging,ableton-live,Python,Debugging,Script Debugging,Ableton Live,如何在Ableton Live中查看python MIDI远程脚本的脚本错误?我已经看过了,但是没有关于如何打开它的文档,如果它对我有帮助的话 目前,我键入代码,重新加载脚本,然后看看会发生什么。如果什么都没发生,那就是出了问题。非常乏味 编辑:我还应该指出,Log.txt文件中也没有任何有用的东西,但该文件正在更新。随着不同版本的Ableton Live,这一点多年来肯定发生了变化 我正在运行Live 8,首先尝试让LiveAPI的东西吐出调试信息: 我从一个不适用于OSX的旧版本开始,这里报

如何在Ableton Live中查看python MIDI远程脚本的脚本错误?我已经看过了,但是没有关于如何打开它的文档,如果它对我有帮助的话

目前,我键入代码,重新加载脚本,然后看看会发生什么。如果什么都没发生,那就是出了问题。非常乏味


编辑:我还应该指出,
Log.txt
文件中也没有任何有用的东西,但该文件正在更新。

随着不同版本的Ableton Live,这一点多年来肯定发生了变化

我正在运行Live 8,首先尝试让LiveAPI的东西吐出调试信息:

我从一个不适用于OSX的旧版本开始,这里报道:我认为新版本不包括telnet控制台

因此,最好的答案是在这里找到一个日志文件,其中包含有问题的MIDI远程脚本的调试信息:


Library/Preferences/Ableton/Live 8.2.1/Log.txt

我使用Log.txt进行大量调试。这有点难读,但这里是我的建议

日志自顶向下写入(新信息在下一行)并或多或少地记录所有事件

如果出现错误,您将得到一个大的六边形块-大约20多行,如下所示:

280 ms. Exception: 0x00495580:0x00000000
在该块的正上方是错误,或者是在Ableton运行时抛出脚本的原因

当你从那个异常中走出来时,你会看到类似于轨迹的东西

此外,您可以使用:

self.log_message("STUFF")
写入日志(还有其他方法)

我在工作中见过一些日志文件解析器(实时)。还没有试过


希望能有点帮助。O有能力为python编写一个PHP应用程序(是的,我知道这是罪恶的)

关于

为了完整起见,您也可以在Ableton Live 9上使用:在Mac OS X 10.9上,Log.txt文件位于

/Users/-username-/Library/Preferences/Ableton/Live 9.1/

当然,对于不同版本的Live,Live 9.1文件夹可能会有所不同


注意库文件夹已隐藏。我花了一段时间才弄明白。使用Finder访问它的一种简单方法:单击Go菜单项,然后按住Alt键,库文件夹将弹出菜单

要调试控件界面,您可以定义自己的日志方法,如下所示:

def log(self, message):
    sys.stderr.write("LOG: " + message.encode("utf-8"))
用法示例:

year = 1999
self.log("I'm gonna party like it's " + str(year))
这将附加

21179419 ms. RemoteScriptError: LOG: Tonight I'm gonna party like it's 1999
到您的Log.txt

另外,值得一提的是(至少从Live 9.1开始),每次加载新歌时都会重新编译编辑的控件表面文件,无需重新启动应用程序


编辑:更改了stderr的写入方法,这样它就不会写入两行代码,并且每个日志都会有额外的返回值

我将奖金奖励给slomojo,因为它可能会奖励某人的努力。请尽管如此,如果你知道如何启动控制台,请在这里发布答案。我会让我的Ableton安装程序再次运行并尝试找到它。谢谢slomojo!如果你对我如何寻找它有任何想法,我也会去挖掘。我一点也不知道。我对Python几乎一无所知。我是一个典型的.NET人。再次感谢。谢谢你的链接,但这根本不能回答我的问题。我对调试我自己的脚本感兴趣。我仍然没有上传那个部分。我仍然没有上传那个部分。在/Users//Library/Preferences/Ableton/Live x/中有一个名为Log.txt的文件,其中包含Live的所有调试信息。如果您想通过Framework log_message方法调试python,可以使用self.log_message()之类的方法。。。答案应该是..你能编辑你的答案来包含这些信息吗?我们希望答案是独立的,不要求人们访问其他网站。这样可以更容易地找到解决方案,并防止链接损坏(随着网站的老化,这是一个严重的问题)。通过加载新歌,您指的是新的实况项目,对吗?正确,是新的实况集/项目。