Maya C++ API : 函数在未进入函数的情况下导致未定义的崩溃
Maya C++ API : Function causes undefined crash without entering the function
我目前正在开发一个插件,用于将数据从 Maya 流式传输到自定义 3D 引擎。
当我获取现有数据时:
Point Light Function
包含上面注释的函数会导致 Maya 在插件成功初始化后崩溃:
Crash Position
但是“pSendPointLightData()”函数或 switch case 甚至还没有被调用或触发(它不包含在 MFnPlugin class 或构造函数中)。它只是在到达下一个控制台输出“检查连接”之前崩溃。
函数之前或内部没有其他控制台输出被触发。它在 else 括号之后直接崩溃,没有触发其他错误消息。
当该函数被代码注释掉时,应用程序运行良好,并到达开关盒中的“pAllocNode()”函数。
有没有人知道为什么包含该函数会在没有被调用或到达的情况下神奇地使应用程序崩溃?
有没有办法调试它,因为我已经尝试使用断点、控制台输出和 try-catch 异常,但它们没有捕获任何东西?
在我看来,这是一种未定义的行为。
除了调用了 initializePlugin() 函数之外,调用堆栈没有告诉我太多信息。 pSendPointLightData() 为空,只接受指向 MObject 的指针引用。该插件已动态链接为 .mll 文件。
不过,更新 visual studio 似乎解决了这个问题。
我目前正在开发一个插件,用于将数据从 Maya 流式传输到自定义 3D 引擎。
当我获取现有数据时:
Point Light Function
包含上面注释的函数会导致 Maya 在插件成功初始化后崩溃:
Crash Position
但是“pSendPointLightData()”函数或 switch case 甚至还没有被调用或触发(它不包含在 MFnPlugin class 或构造函数中)。它只是在到达下一个控制台输出“检查连接”之前崩溃。
函数之前或内部没有其他控制台输出被触发。它在 else 括号之后直接崩溃,没有触发其他错误消息。
当该函数被代码注释掉时,应用程序运行良好,并到达开关盒中的“pAllocNode()”函数。
有没有人知道为什么包含该函数会在没有被调用或到达的情况下神奇地使应用程序崩溃?
有没有办法调试它,因为我已经尝试使用断点、控制台输出和 try-catch 异常,但它们没有捕获任何东西?
在我看来,这是一种未定义的行为。
除了调用了 initializePlugin() 函数之外,调用堆栈没有告诉我太多信息。 pSendPointLightData() 为空,只接受指向 MObject 的指针引用。该插件已动态链接为 .mll 文件。
不过,更新 visual studio 似乎解决了这个问题。