Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调试库方法_Objective C_Xcode_Macos_Cocoa - Fatal编程技术网

Objective c 调试库方法

Objective c 调试库方法,objective-c,xcode,macos,cocoa,Objective C,Xcode,Macos,Cocoa,是否有一种方法可以单步进入Cocoa库方法以查看程序集或实现?我一直在尝试调试NSEvent方法,但当我尝试使用Xcode进入它时,它跳过了它。xcode是否限制进入库方法?可以检查实现吗?没有这样的限制,但您只能看到汇编程序。要输入库方法或函数,请执行以下操作: 在源代码中,在调用上放置断点 跑 当点击断点时,按住控制键并按“步进”按钮。control键表示您希望通过机器指令而不是源代码行、调试器步骤等执行操作。按钮图标将更改为在其下方显示一个点。程序将在完全相同的行上再次停止,这是因为在您实

是否有一种方法可以单步进入Cocoa库方法以查看程序集或实现?我一直在尝试调试NSEvent方法,但当我尝试使用Xcode进入它时,它跳过了它。xcode是否限制进入库方法?可以检查实现吗?

没有这样的限制,但您只能看到汇编程序。要输入库方法或函数,请执行以下操作:

  • 在源代码中,在调用上放置断点
  • 当点击断点时,按住控制键并按“步进”按钮。control键表示您希望通过机器指令而不是源代码行、调试器步骤等执行操作。按钮图标将更改为在其下方显示一个点。程序将在完全相同的行上再次停止,这是因为在您实际输入方法/函数之前,需要几条机器指令-数量取决于您传递的参数的数量和类型
  • 重复控件+单击,直到输入方法/函数-一旦输入方法/函数,调试器将切换到显示汇编程序,因为它没有源代码
  • 一旦进入无源的方法/函数,单击按钮时无需按住control键,图标将更改为在其下方显示一个点,并一直保持这种状态,直到您输入有源的方法/函数
  • 如果您希望查看汇编程序以了解(3)和(4)中的步骤说明,您可以随时选择
    调试->调试工作流->调试时显示反汇编
    ,以始终显示汇编程序而不是源代码


    HTH

    当[你]试图介入时,你到底在做什么?如果您还没有,请在控制台提示下尝试“si”命令。您可以阅读assembler吗?好的,在使用si命令几次后,我将转到objc_msgSend,它有一个跳转语句,用于touchesMatchingPhase汇编实现。我能够单步跳转到jump语句并查看该方法的实现。您知道有没有办法将实现的汇编指令反编译为C或更易于阅读的语言?最终得到了我需要的东西