小编Dav*_*ana的帖子

如何在OS X中调试屏幕保护程序

我想知道是否有任何不错的方法,除了NSLog-ing几乎所有东西 - 在OS X中正确调试Screensaver应用程序包?

"屏幕保护程序"是Xcode中的项目类型,但显然没有Build and Go调试.此外,我发现实际上我的捆绑包已经加载到了

/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app 
Run Code Online (Sandbox Code Playgroud)

应用程序作为某种插件.

那么调试代码有一个不错的方法吗?查看崩溃报告和NSLoging到控制台有帮助,但它远非完美.

debugging macos xcode objective-c screensaver

22
推荐指数
3
解决办法
6463
查看次数

如何避免GC环境中自定义NSURLProtocol中_NSCFURLProtocolBridge中的引用计数下溢

基础是我有一个习惯NSURLProtocol.在startLoading,[self client]类型:

<_NSCFURLProtocolBridge> {NSURLProtocol, CFURLProtocol}
Run Code Online (Sandbox Code Playgroud)

问题是在垃圾收集环境中运行.因为我正在写一个屏幕保护程序,所以我不得不把它垃圾收集起来.但是,_NSCFURLProtocolBridge协议似乎总是抛出:

malloc: reference count underflow for (memory_id_here), break on auto_refcount_underflow_error to debug

调试控制台的示例转储是:

ScreenSaverEngine[1678:6807] client is <_NSCFURLProtocolBridge 0x20025ab00> {NSURLProtocol 0x200258ec0, CFURLProtocol 0x20029c400} ScreenSaverEngine(1678,0x102eda000) malloc: reference count underflow for 0x20025ab00, break on auto_refcount_underflow_error to debug.

您可以看到发生了下溢<_NSCFURLProtocolBridge 0x20025ab00>.

当我突破时auto_refcount_underflow_error,它似乎堆栈追溯到URLProtocolDidFinishLoading::

id client = [self client];
...
[client URLProtocolDidFinishLoading:self];
Run Code Online (Sandbox Code Playgroud)

这个问题似乎已经存在了一段时间,但在网上似乎没有任何答案:

http://lists.apple.com/archives/cocoa-dev/2008/May/msg01272.html http://www.cocoabuilder.com/archive/message/cocoa/2007/12/17/195056

该错误仅在垃圾收集环境中显示这些列出的错误.有关如何在不引起内存问题的情况下解决此问题的任何想法?我假设这可能与NSURLProtocol下面的CF类型不正确地发布有关?

garbage-collection memory-management objective-c underflow

11
推荐指数
1
解决办法
3405
查看次数

TeamCity"失败时重试"构建触发器 - 限制重试

我知道一个版本会随机失败,大约有5%的时间.这是由于我无法控制的外部资源.

设置"重试失败"构建触发器很容易,除了它不允许我在停止一起尝试之前指定多次重试.

有没有办法让TeamCity重试构建失败,只有n次?

谢谢!

teamcity

10
推荐指数
2
解决办法
5478
查看次数

Jenkins定期丢失工作区,触发不需要的构建

我在Jenkins中设置了使用自定义工作区(为了在路径名中没有空格)的构建,它使用SCM(git)轮询来检查更改.但是,看起来似乎每24小时一次,我看到一个触发的构建具有此轮询日志:

Started on Jun 13, 2011 5:21:32 PM
No workspace is available, so can't check for updates.
Scheduling a new build to get a workspace.
Done. Took 1 ms
Changes found
Run Code Online (Sandbox Code Playgroud)

它似乎只是为了获得一个工作空间(我明确不想发生的事情)来安排构建,即使没有提交给git.我已经取消了删除旧版本的选项,没有定期构建设置,并且每分钟使用一次SCM轮询.

我很难过,无法提供比这更详细的信息 - 除了我知道机器上存在工作空间.除了ACTUAL提交给git之外,还有什么方法可以阻止这种情况发生吗?

git continuous-integration hudson jenkins

10
推荐指数
1
解决办法
4355
查看次数

有"pip bundle"的替代品吗?

我pip bundle用于我的生产系统,今天我受到以下令人沮丧的消息的欢迎:

###############################################
##                                           ##
##  Due to lack of interest and maintenance, ##
##  'pip bundle' and support for installing  ##
##  from *.pybundle files is now deprecated, ##
##  and will be removed in pip v1.5.         ##
##                                           ##
###############################################
Run Code Online (Sandbox Code Playgroud)

我的服务器自动扩展并自动构建,但我之前依靠PyPi可用而被烧毁.相反,我使用pip bundle.pybundle文件并将其提交到源git repo.这意味着我只需要依靠单一来源来构建我的服务器.

随着pip bundle离开(谁知道何时)我需要一种替代方法 - 是否有任何建议或类似的方法来打包生产分配的依赖关系?

谢谢!

python pip

6
推荐指数
1
解决办法
4280
查看次数