导航:首页 > 源码编译 > 编译错误日志

编译错误日志

发布时间:2022-09-08 16:21:01

A. iOS 编译报错怎么办

1.编译iPad真机时,选择了 Architetures:Standard(armv6) BaseSDK:iPhoneDevice3.2 TargetDeviceFamily:iPad.

若编译出现如下错误:

Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

则修改 GCC4.2CodeGeneral区域中的ComplieForThumb为非选中.

已经有了开发者证书及私钥后,可直接在越狱的手机上调试.

2. 编译链接时, "_OBJC_CLASS_$_xxx", referenced from:可能需要重新建立某个类的文件.

或者:选择项目名,在detail列表中的target列(显示为一个又圆圈),把这个文件的复选选中,或者再次选中.以把它加入到这个target里面来.

3.在sdk4.0及以上使用RegexKitLite报'captureCount' was not declared in this scope错误,是在非.m文件中使用了它的原因.

4.there is no sdk with the name or path.

从网上down的开源代码,结果运行的时候常出现这样的错,并且在deployment中没有iosdeploymenttarget选项.

尝试 Project/Edit Active Target/ 及 Set Active SDK菜单项,来回切换一下Active Configuration。

5. EXEC_BAD_ACCESS,EXC_BAD_INSTRUCTION错误,意味着这个app有内存管理的问题,一般是因为访问野指针对象造成的。

一个和内存相关的崩溃一般很难定位到源代码,因为这个恶魔可能很早就在程序中做了坏事了。假如一段有问题的代码混乱了内存结构,这样产生的蝴蝶效应可能会在之后很久才表现出来,并且总在不同的地方。所以,若有指针类型出现了不可能的变化,很可能就是因为内存结构被野指针调用混乱了。

修复一些警告后,可能就能预防一些内存错误。警告在左边靠近行号的黄色三角指出一个编译警告,你点击那个黄色的三角形,xcode可能会弹出一个“Fix-it”的建议。

EXC_BAD_ACCESS崩溃不像SIGABRT,将不会得到很明朗的错误消息。然而可以使用一个让人看到曙光的调试工具:Zombies!死亡对象工具。打开这个项目的scheme editor,选择Run 选项,然后选择Diagnosics标签。勾上Enable Zombie Objects选项。当这个zombie工具被启用之后,即使这个对象被释放了,这个对象的内存也不会被清理。所以,那块内存将会被标记为“长生不死的”。假如你试着之后又去使用这块内存,这个app能够意识到你的错误操作,并且app将会抛出“messagesent to daellocated instance”错误并且终止运行。

在工程中加入NSZombieEnabled 环境变量,并设为启用,则在 EXC_BAD_ACCESS 发生时,XCode 的 Console 会打印出问题描述中,设置方法:双击Executables 下的 可执行模组,在弹出窗口中,Variables to be set in the environment,添加 NSZombieEnabled,并设定为 YES,点击选中复选框启用此变量。

可以再加入 MallocStackLogging 来启用malloc记录,以获得更多的提示来帮助定位问题。

在gdb窗口输入 (格式: shell malloc_history <id> <address>) shellmalloc_history1436 0x5f7fcf0, 也可以在终端中去运行 就要去掉以上的shell 指令 如 malloc_history <id> <address>

应该仅当需要调试内存时,才设置上述环境变量。

注意一点:不应该一直启用zombie objects。因为这个工具将永远不会释放内存,只是简单标记一下这个内存是不死的,你最终将会在某个时候耗尽所有的内存,因为所有分配过的内存都不会得到重用。因此应该在排查内存相关的错误的时候才开启zombie objects,其他时候应该关闭它。

在xcode4中,To edit environment variables, go to Menu Proct / Edit Scheme…, select the desired configuration (you probably want 'Run') from the left sidebar first and then click on the Arguments tab. Environment variables are configurable there.

6.运行一个IPhone程序时,弹出窗口说“程序运行失败,预置描述文件已过期” 。 解决办法是,在Xcode中, window-> Orgnazier -> 你的iphone ->删除带有红*的该程序之前的Profile 。 然后从Xcode运行该程序.

7.真机编译时报 Code Sign error: The identity doesn't match any valid certificate/private key pair in the default keychain

修改工程和Targets的get infouild 中的code signing identity为空

8.调试打印

CFShow(coreFoundationThingy) will print out a description of coreFoundationThingy to the console. Output looks something like: {value = w:1186.000000 h:687.000000 type = kAXValueCGSizeType}

If NSLog() is printing something out as an NSCFType, try CFShow().

9. 编译时报 Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1,修改C/C++ Compiler Version为gcc4.2

10.this class is not key value coding-compliant for the key viewController

可能在创建了一个基于view的工程,而后把生成的viewcontroller删除了,但是在.xib中还有对它的引用,在IB中直接用delete键删除掉它就行了。

11.这台电脑上已经存在一个名为“embedded.mobileprovision”的预置文件,您是否要替换么?

http://blog.sina.com.cn/s/blog_6907b67f0100o2vw.html

12.真机调试时报failed to upload *.app

http://hi..com/%CB%E6%B7%E7_1989/blog/item/9649f49f805f05aec8eaf466.html

http://www.shouyanwang.org/thread-462-1-1.html

13.记的release时,先置delegate为nil。

一个节点不应该保留任何对不属于它的节点的引用。

14.模拟器

将xcode升级到4.3.1以后发现,ipad的模拟器,没有Home键了。Command+Shift+H就可以实现类似点击Home键的效果了。

B. VS编译错误,如何解决

在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”? 编译器已经估计错误所在,你根据提示查找错误,在源文件中看看有没有#include "stdafx.h"这句话

C. VS编译 出现未能写入日志错误!~

以上回答简直就是瞎扯,真正的原因是因为目录名称。
更改目录就解决问题了。就是把项目换个位置,目录名最好只是英文路径。

D. webpack编译过程中,如何显示编译中的错误信息

webpack 编译出错了自然会显示出错信息的,不需要其他操作。
可以加上--display-error-details来看更详细的错误日志

E. windows下怎么分析apache日志

Apache 的标准中规定了4类日志:

错误日志
访问日志
传输日志
Cookie日志

其中:传输日志和Cookie日志被Apache 2.0认为已经过时。所以本节仅仅讨论错误日志和访问日志。同时错误日志和访问日志被Apache 2.0默认设置。
能从日志中获取哪些信息

* 访问日志
o 访问服务器的远程机器的地址:可以得知浏览者来自何方
o 浏览者访问的资源:可以得知网站中的哪些部分最受欢迎
o 浏览者的浏览时间:可以从浏览时间(如工作时间或休闲时间)对网站内容进行调整
o 浏览者使用的浏览器:可以根据大多数浏览者使用的浏览器对站点进行优化
* 错误日志
o 获知失效链接
o 获知 CGI 错误
o 获知用户认证错误

配置错误日志

错误日志记录了服务器运行期间遇到的各种错误,以及一些普通的诊断信息,比如服务器何时启动、何时关闭等。
错误日志配置指令
ErrorLog

ErrorLog 指令指定了当服务器遇到错误时记录错误日志的文件名。其格式为:

格式1:ErrorLog 错误日志文件名
格式2:ErrorLog "|管道程序名"

格式1直接指定错误日志文件名,除非文件位置用”/“开头,否则 ErrorLog 所制定的文件位置是相对于 ServerRoot 目录的相对路径。

格式2实现管道日志,它指定一个命令来处理错误日志。
Apache 编译时默认的错误日志可以使用如下命令获得:

$ apache2 -V| grep DEFAULT_ERRORLOG
-D DEFAULT_ERRORLOG="logs/error_log"

LogLevel

LogLevel 用于调整记于错误日志中的信息的详细程度。其格式为:

LogLevel 错误日志记录等级

下面着重说说日志记录等级:
紧急程度 等级 说明
1 emerg 出现紧急情况使得该系统不可用,如系统宕机等
2 alert 需要立即引起注意的情况
3 crit 危险情况的警告
4 error 除了emerg、alert、crit的其他错误
5 warn 警告信息
6 notice 需要引起注意的情况,但不如error、warn重要
7 info 值得报告的一般消息
8 debug 由运行于debug模式的程序所产生的消息

如果指定了等级 warn,那么就记录紧急程度为1至5的所有错误信息。
Ubuntu 中 Apache 的错误日志配置

配置错误日志相对简单,只要说明日志文件的存放路径和错误日志记录等级即可。

从 Ubuntu 中的 /etc/apache2/apache2.conf 中可知,默认的错误日志存放在 /var/log/apache2/error.log

ErrorLog /var/log/apache2/error.log
LogLevel warn

您可以在 /etc/apache2/apache2.conf 中设置错误日志记录等级,也可以在相应的虚拟主机的配置文件中设置。
错误日志文件举例

下面是一个错误日志文件的截取。

$ sudo tac /var/log/apache2/error.log
[Wed Jun 20 14:53:15 2007] [error] [client 192.168.0.66] File does not exist: /usr/share/phpmyadmin/favicon.ico
[Wed Jun 20 11:12:50 2007] [notice] Apache/2.0.55 (Ubuntu) DAV/2 SVN/1.3.1 mod_python/3.1.4 Python/2.4.3 PHP/5.1.2 configured -- resuming normal operations
[Wed Jun 20 11:12:49 2007] [notice] Digest: done
[Wed Jun 20 11:12:49 2007] [notice] Digest: generating secret for digest authentication ...
[Wed Jun 20 09:22:22 2007] [notice] caught SIGTERM, shutting down

从文件内容可以看出,每一行记录了一个错误。格式为:

日期和时间 错误等级 错误消息

配置访问日志
CustomLog

CustomLog 指令用来对服务器的请求进行日志记录。格式为:

格式1:CustomLog 访问日志文件名 记录格式说明串|格式昵称
格式2:CustomLog "|管道程序名 访问日志文件名" 记录格式说明串|格式昵称

其中:

1. 访问日志文件名:除非文件位置用”/“开头,否则所制定的文件位置是相对于 ServerRoot 目录的相对路径
2. 格式昵称:使用 LogFormat 指令将一个记录格式说明串赋以一个名称
3. 记录格式说明串:用字符串和格式说明符(以%开头)指定日志记录的内容
4. 管道程序名:管道符”|”后面紧跟着一个程序的路径,这个程序把日志从标准输入设备中读入并处理。

在 Ubuntu 的 Apache 默认配置中并没有使用 CustomLog 设置访问日志,若您希望记录访问日志,您需要在虚拟主机的配置文件中分别设置,例如:在 /etc/apache2/sites-available/default 中有如下的设置:

CustomLog /var/log/apache2/access.log combined

LogFormat

为了便于分析 Apache 的访问日志,Apache 的默认配置文件中,按记录的信息不同(用不同格式昵称说明不同的信息)将访问日志分为4类,并由 LogFormat 指令定义了昵称,如表所示。
格式分类 格式昵称 说明
普通日志格式(common log format,CLF) common 大多数日志分析软件都支持这种格式
参考日志格式(referer log format) referer 记录客户访问站点的用户身份
代理日志格式(agent log format) agent 记录请求的用户代理
综合日志格式(combined log format) combined 结合以上三种日志信息

LogFormat 指令用于定义访问日志的记录格式。格式为:

LogFormat "记录格式说明串" 格式昵称

从 /etc/apache2/apache2.conf 中可知,在 Ubuntu 的 Apache 中定义了下面的 4 种类型的访问日志:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

由于综合日志格式简单地结合了3种日志信息,所以在配置访问日志时,要么使用一个综合文件进行记录,要么使用分离的多个(1-3)文件记录。通常使用一个综合日志格式文件进行记录,配置为:

CustomLog /var/log/apache2/access.log combined

若使用3个文件分别进行记录,配置为:

CustomLog /var/log/apache2/access.log common
CustomLog /var/log/apache2/referer.log referer
CustomLog /var/log/apache2/agent.log agent

下面的指令组:

LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common

与下面的指令等效:

CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"

通常我们配置访问日志时,使用先使用 LogFormat 指令定义格式昵称,然后再在 CustomLog 指令中引用昵称的方法。
格式说明符

在使用 LogFormat 和 CustomLog 指令中为了说明要记录的日志内容,可以使用的常用格式说明符如下表。
格式说明符 说明
%v 进行服务的服务器的标准名字 ServerName,通常用于虚拟主机的日志记录中。
%h 客户机的 IP 地址。
%l 从identd服务器中获取远程登录名称,基本已废弃。
%u 来自于认证的远程用户。
%t 连接的日期和时间。
%r HTTP请求的首行信息,典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。经常可能出现的 METHOD 是 GET、POST 和 HEAD;RESOURCE 是指浏览者向服务器请求的文档或 URL;PROTOCOL 通常是HTTP,后面再加上版本号,通常是 HTTP/1.1。
%>s 响应请求的状态代码,一般这项的值是 200,表示服务器已经成功地响应浏览器的请求,一切正常;以 3 开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置;以 4 开头的状态代码表示客户端存在某种错误;以 5 开头的状态代码表示服务器遇到了某个错误。
%b 传送的字节数(不包含HTTP头信息),将日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。
%{Referer}i 记录引用此资源的网页。
%U 请求的URL路径,不包含查询串。
%{User-Agent}i 使用的浏览器信息。
访问日志文件举例

由于整个格式说明字符串是放在”“之内的,所以若要输出的日志信息内含有引号,需要将”前加转义符\。例如:若要输出子串”GET /apache_pb.gif HTTP/1.0”,则格式字符串为\”%r\”。

F. 如何查看wamp中php编译的错误

查看wamp目录下的logs下的apache_error.log

阅读全文

与编译错误日志相关的资料

热点内容
宝可梦做解压视频 浏览:597
威纶通触摸屏编译时内存不足 浏览:610
单片机采集电压比较 浏览:950
程序员三年前工资多少 浏览:707
pc端c语言编译工具 浏览:24
护理知识app怎么做 浏览:31
我的世界服务器如何跨版本 浏览:914
益盟正版主力识别公式源码 浏览:493
温州程序员兼职网站 浏览:720
csgo控制台命令大全指令表 浏览:733
小米盒子连接服务器地址 浏览:368
文档怎么压缩进一个文件夹 浏览:87
cnn新闻app从哪里下载 浏览:73
杀戮命令精通 浏览:896
如何查魔兽世界角色在哪个服务器 浏览:45
压缩气罐免责说明 浏览:915
为什么sim连接不了服务器 浏览:33
如何注册豆瓣app 浏览:561
屏膜找图算法 浏览:540
我的世界服务器怎么给别人游戏币 浏览:942