相关疑难解决方法(0)

在swift中打印可变内存地址

无论如何都要[NSString stringWithFormat:@"%p", myVar]用新的快速语言模拟代码?

例如:

let str = "A String"
println(" str value \(str) has address: ?")
Run Code Online (Sandbox Code Playgroud)

swift

141
推荐指数
13
解决办法
7万
查看次数

获取当前方法调用的线程ID

有没有办法打印出当前正在执行当前方法的线程ID?

(Objective-c please)

iphone cocoa multithreading objective-c

120
推荐指数
5
解决办法
5万
查看次数

Mac/iPhone:有没有办法在不使用Objective-C的情况下获取线程标识符?

有没有办法获得当前正在运行的线程的任何类型的线程标识符,而无需求助于Objective-C的NSThread.

我正在改进我们的自定义调试跟踪系统,以正确处理多个线程.对于每行跟踪输出,我想打印一个线程ID或一个线程名称.线程以各种方式实例化,例如使用NSOperationQueue和pthread函数.

我目前有以下两种选择,但我对其中任何一种都不满意.还有其他选择吗?

pthread_t选项

pthread_t似乎是特定平台的typedef _opaque_pthread_h.现在可以使用字段_opaque_pthread_h,即使它是hack-y而且不可移植.它有一个__siglong类型的字段,但是对于我的进程的所有线程,它似乎具有相同的值.

NSThread选项

[NSThread name]需要NSAutoreleasePool在适当的位置,但我不希望这是一个要求,因为我们的大多数代码都是纯C++,所以在没有自动释放池包装的情况下启动c ++函数会很好.

iphone macos pthreads

13
推荐指数
1
解决办法
1万
查看次数

GCD获取队列名称/标签

如何获取当前队列名称?我的意思是队列标签,如com.example.myqueue.在调试器中的Xcode 4中,我只能看到_block_invoke_1.谢谢.

iphone queue multithreading grand-central-dispatch ios

5
推荐指数
2
解决办法
4270
查看次数