linux 的core file的时间戳怎么样才能变成日期格式 30C

linux 程序崩溃之后会产生core file,带有时间戳,但是时间戳总是不是很直观,每次都要转换下才能知道是什么时候产生的,怎么样才能让生成的core文件的时间戳变成日期格式,如20160911
这样的

2个回答

自己写代码...

先修改 /proc/sys/kernel/core_pattern

|/sbin/genCore %p %t 
  • %p - 获取crash 进程号,也能获取crash进程所在的路径
  • %t - 时间戳,用于转换成Y/m/d格式

genCore的源代码如下,会在crash进程同一目录下生成core.pid.MYD格式的coredump.

genCore.c


#define _GNU_SOURCE
#include <sys/stat.h>
#include <fcntl.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>

#define BUF_SIZE 1024
#define FILENAME_MAX_LENGTH 256
#define TIMESTAMP_MAX_LENGTH 20

int
main(int argc, char *argv[])
{
    int tot, j;
    ssize_t nread;
    char buf[BUF_SIZE];
    FILE *fp;
    char cwd[PATH_MAX];

    char fileName[FILENAME_MAX_LENGTH];
    char strTimeStamp[TIMESTAMP_MAX_LENGTH];
    struct tm *coreTimeStamp;
    time_t rawTimeStamp;

    /* Change our current working directory to that of the
       crashing process */
    snprintf(cwd, PATH_MAX, "/proc/%s/cwd", argv[1]);
    chdir(cwd);

    /* Write output to file "core.<pid>.<Ymd>" in that directory */
    rawTimeStamp = (time_t) (atoi(argv[2]));
    coreTimeStamp = localtime(&rawTimeStamp);
    strftime(strTimeStamp, TIMESTAMP_MAX_LENGTH,"%Y%m%d",coreTimeStamp);
    snprintf(fileName, FILENAME_MAX_LENGTH, "core.%s.%s", argv[1], strTimeStamp);
    fp = fopen(fileName, "w+");

    if (fp == NULL)
        exit(EXIT_FAILURE);

    /* Dump the core dump to file */
    while ((nread = read(STDIN_FILENO, buf, BUF_SIZE)) > 0)
        fwrite(buf, nread, 1, fp);

    fclose(fp);
    exit(EXIT_SUCCESS);
}
bandaoyu
bandaoyu 回复呆的久: 竟然成功了,赞!很巧妙。是什么原理呀?有相关资料吗? 另外可不可以把进程名也加进去%e,还有可不可以 参数指定报错core文件的位置呢,大神!
大约 2 年之前 回复
bandaoyu
bandaoyu 回复呆的久: 不好意思,昨天才试了你这个方法。可以! 但是有一点想改进一下,就是怎么把进程名(%e)也加上,还有可以参数指定放到特定的文件夹下面。 还有你这个方法真巧妙,原理是什么呢?
大约 2 年之前 回复
dead911
呆的久 回复bandaoyu: 这不就是自动转换嘛,在core_pattern里写上callback,每次生成core的时候自动调用转换程序.又不需要你手动执行
2 年多之前 回复
dead911
呆的久 回复bandaoyu: =.=这都多久前的问题了...脚本while是可以,但是你必须实时监测,监测周期过短会消耗CPU,监测周期长了,可能一个周期内有多个core文件.
2 年多之前 回复
bandaoyu
bandaoyu 回复bandaoyu: 我觉得可以换个思路,就是有一个脚本while 检查存放core的文件夹内的文件数,当发现有新增core文件时,就自动去转换那个文件的时间戳为时间格式。
接近 3 年之前 回复
bandaoyu
bandaoyu 回复呆的久: 不能生成core的时候自动转换吗,必须手工执行一次才能转吗?
接近 3 年之前 回复

那是个标准的时间戳,除非你自己修改内核dump的代码,做一些转换。或者用工具将文件名重新计算改一下。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
linux 的core file的时间戳怎么样才能变成日期格式
之前问了一个问题: linux 程序崩溃之后会产生core file,带有时间戳,但是时间戳总是不是很直观,每次都要转换下才能知道是什么时候产生的,怎么样才能让生成的core文件的时间戳变成日期格式,如20160911 这样的 在地址:http://ask.csdn.net/questions/332597 得到了一个朋友的回答: 自己写代码... 先修改 /proc/sys/kernel/core_pattern |/sbin/genCore %p %t %p - 获取crash 进程号,也能获取crash进程所在的路径 %t - 时间戳,用于转换成Y/m/d格式 genCore的源代码如下,会在crash进程同一目录下生成core.pid.MYD格式的coredump. genCore.c #define _GNU_SOURCE #include <sys/stat.h> #include <fcntl.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> #define BUF_SIZE 1024 #define FILENAME_MAX_LENGTH 256 #define TIMESTAMP_MAX_LENGTH 20 int main(int argc, char *argv[]) { int tot, j; ssize_t nread; char buf[BUF_SIZE]; FILE *fp; char cwd[PATH_MAX]; char fileName[FILENAME_MAX_LENGTH]; char strTimeStamp[TIMESTAMP_MAX_LENGTH]; struct tm *coreTimeStamp; time_t rawTimeStamp; /* Change our current working directory to that of the crashing process */ snprintf(cwd, PATH_MAX, "/proc/%s/cwd", argv[1]); chdir(cwd); /* Write output to file "core.<pid>.<Ymd>" in that directory */ rawTimeStamp = (time_t) (atoi(argv[2])); coreTimeStamp = localtime(&rawTimeStamp); strftime(strTimeStamp, TIMESTAMP_MAX_LENGTH,"%Y%m%d",coreTimeStamp); snprintf(fileName, FILENAME_MAX_LENGTH, "core.%s.%s", argv[1], strTimeStamp); fp = fopen(fileName, "w+"); if (fp == NULL) exit(EXIT_FAILURE); /* Dump the core dump to file */ while ((nread = read(STDIN_FILENO, buf, BUF_SIZE)) > 0) fwrite(buf, nread, 1, fp); fclose(fp); exit(EXIT_SUCCESS); } 功能已经实现,但是core产生的位置我想固定产生到/app/core目录下,在没有使用genCore的时候我知道是这样设置:echo "/app/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern,用了genCore之后就不知道该如何弄了, 应该不能这么搞吧:echo " /app/corefile/|/sbin/genCore %e %p %t " > /proc/sys/kernel/core_pattern
嵌入式linux core占用空间问题
在嵌入式linux下用df -h 查看到挂载到/dev/shm 下的shm大小为250M。 在shm目录下gdb调试程序生成了core文件,ls -lh 查看core的大小为 253M。已经超过了shm的空间大小250M,系统没有空间不够的警告提示,这时,再用df-h命令查看shm的大小,居然还有剩余空间62M。这是怎么回事?在shm目录下生成的core已经超过250M,为什么不但空间没提示不足,反而还有剩余呢?
linux可以使一个core只跑对应的一个线程嘛?
如题,linux可以使某个core只跑指定的某个线程?能否在程序中实现呢?比如说C/C++,直接用linux提供的API使某个线程绑定某个core,这个core不处理其他的线程?
linux下c++编写的服务器因为业务宕机生成.core,使用gdb打开.core查看会照成已经重启好的服务器进程被杀
linux下c++编写的服务器因为业务宕机生成.core,使用gdb打开.core查看会照成已经重启好的服务器进程被杀 我是服务器重启完,去查看.core 一查看自动 killed 1:内存应该是够的,这台机子还有其他服务器跑,但是他们的正常 ![图片说明](https://img-ask.csdn.net/upload/201911/29/1575017084_138538.png)
arm,linux环境下的core文件gdb调试
arm9 QT C++ linux 环境下编译的程序,最近老死机,用gdb调试core文件,打印出来的是一堆问号,哪位高手对core的调试有经验的请赐教一下都要注意什么,网上有的,基本的就不用说了,有独家心得的可以交流一下,如能解决问题, **重谢** (具体可以协商),联系QQ:276840649
Linux用户文件夹下不产生core文件
不知道为什么我的~/Desktop/linux学习/linux/code下无法产生core文件 我已经确定 ulimit 显示的值是 unlimited code 文件夹的权限是 drwxrwxrwx 3 rookie rookie 4096 Jun 8 04:40 code 我是用rookie这个用户登录的,并且我的实际用户ID和实际用户ID 也都是rookie,代码里验证了的。 我试过在/ 目录下重新写一个test.c文件编译运行后可以生成core文件,但是/目录下都是超级用户权限执行的,所以这个不奇怪,可是按照我的验证,code文件夹下我也应该有权限可以生成core文件才对? 测试程序 #include< stdio.h > #include< stdlib.h > #include< unistd.h > int main(int argc,const char *argv[]) { printf("actual ID is %d",getuid()); printf("effective ID is %d",geteuid()); fflush(stdout); int *p = NULL; int a = *p; return; }
使用java透过直连的linux系统访问另外一台linux系统
先描述情况: 我本地是window系统,可以直接访问linux系统1的IP,没法直接访问linux系统2的IP; 但是linux系统1可以访问linux系统2的IP; 我日常使用是先登录linux1,然后再使用ssh username@linux系统2的IP这种方法访问linux系统2的文件。 我现在通过导入j2ssh-core.jar这个包,实现了使用java访问linux系统1的文件, 那么问题来了: 我要如何用java实现,在本地访问linux系统2的文件?
Linux应用程序编译报错
Qualcomm 9x15平台A5应用程序编译,出错信息如下: | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /lib/libpthread.so.0: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /usr/lib/libpthread_nonshared.a: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /lib/libpthread.so.0: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /usr/lib/libpthread_nonshared.a: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /lib/libc.so.6: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /usr/lib/libc_nonshared.a: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.3/ld: error: cannot open /lib/ld-linux.so.3: No such file or directory | /home/nelson/qualcomm/Cersei/apps_proc/oe-core/build/tmp-eglibc/sysroots/9615-cdp/usr/lib/crt1.o(.text+0x28): error: undefined reference to '__libc_start_main'
asp.net core 3.0 新手问题:在View中,让一个变量的首字母变成大写的函数怎么写?
asp.net core 3.0 新手问题:在View中,让一个变量的首字母变成大写的函数怎么写? eg var testValue="test"; // print Test
linux 进程crash 生成的core文件被破坏
项目中遇到的问题,一个进程crash了,生成的core文件可能被破坏了, 通过使用gdb backtrace 只能看到类似于下面这样 0x0804842e ??() 有什么方法可以解决这种问题呢?程序是debug版的
32位程序在64位Linux系统下编译出错core dumped
![图片说明](https://img-ask.csdn.net/upload/201709/20/1505874183_591076.jpg)32位的C++程序在windows下32和64 都正常,在Linux32位下也是正常的,但在64位Linux下程序 core dumped(段错误),求大手帮忙瞅瞅
linux下gdb调试core文件如何设置启动参数
linux下gdb调试core文件如何设置启动参数? 只知道gdb program corefile
struts2上传文件时,action中的file为空,怎么解决?
我使用struts2上传文件时,Action类中的File对象获取不了jsp中上传的文件,调试过后发现file为空。 以下是我写的代码 fileupload.jsp ``` <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>文件上传</title> </head> <body> <form action="fileupload.action" method="post" enctype="multipart/form-data"> 文件:<input type="file" name="file"/> <input type="submit" value="上传"/> </form> </body> </html> ``` struts.xml ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 设计文件上传的临时路径 --> <constant name="struts.multipart.saveDir" value="c:\" /> <!-- 设置上传文件总大小 --> <!-- <constant name="struts.multipart.maxSize" value="100001"/> --> <package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.fan.demo.action.UploadAction"> <result>/fileupload.jsp</result> </action> <action name="fileupload" class="com.fan.demo.action.UploadAction" method="upload"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> <interceptor-ref name="fileUpload"> <!-- 设置文件大小 --> <!-- <param name="maximumSize">100000</param> --> </interceptor-ref> <interceptor-ref name="defaultStack"/> </action> </package> </struts> ``` UploadAction.java ``` package com.fan.demo.action; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; public class UploadAction { private File file;//文件名,这个File对象为空,怎么解决 private String fileFileName;//属性 private String fileContentType;//类型 public String upload() { //获取文件上传临时目录 String path=ServletActionContext.getServletContext().getRealPath("/upload"); try { FileUtils.copyFile(file, new File(path,fileFileName)); return Action.SUCCESS; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return Action.ERROR; } public String execute(){ return "success"; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileContentType() { return fileContentType; } public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } } ``` -- -- -- -- -- -- -- -- --- -- -- -- -- --- -- --- --- --- --- -- -- -- -- --- -- --- --- --- - 我在上传一个1k的文件的时候报错了,以下是异常信息 ``` 16:19:09.517 [http-8080-1] ERROR org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler - Exception occurred during processing request: null java.lang.NullPointerException at java.io.File.<init>(File.java:262) ~[?:1.6.0_13] at com.fan.demo.action.UploadAction.upload(UploadAction.java:17) ~[UploadAction.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.6.0_13] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[?:1.6.0_13] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[?:1.6.0_13] at java.lang.reflect.Method.invoke(Method.java:597) ~[?:1.6.0_13] at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:897) ~[ognl-3.0.21.jar:?] at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1299) ~[ognl-3.0.21.jar:?] at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68) ~[ognl-3.0.21.jar:?] at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:117) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:108) ~[xwork-core-2.3.37.jar:2.3.37] at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1375) ~[ognl-3.0.21.jar:?] at ognl.ASTMethod.getValueBody(ASTMethod.java:91) ~[ognl-3.0.21.jar:?] at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) ~[ognl-3.0.21.jar:?] at ognl.SimpleNode.getValue(SimpleNode.java:258) ~[ognl-3.0.21.jar:?] at ognl.Ognl.getValue(Ognl.java:470) ~[ognl-3.0.21.jar:?] at ognl.Ognl.getValue(Ognl.java:434) ~[ognl-3.0.21.jar:?] at com.opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:398) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:450) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:396) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:430) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:290) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:326) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) ~[xwork-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:326) ~[struts2-core-2.3.37.jar:2.3.37] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37] at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) ~[struts2-core-2.3.37.jar:2.3.37] at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575) [struts2-core-2.3.37.jar:2.3.37] at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) [struts2-core-2.3.37.jar:2.3.37] at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) [struts2-core-2.3.37.jar:2.3.37] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:?] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:?] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:?] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:?] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) [catalina.jar:?] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:?] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:?] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) [catalina.jar:?] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) [tomcat-coyote.jar:?] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) [tomcat-coyote.jar:?] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) [tomcat-coyote.jar:?] at java.lang.Thread.run(Thread.java:619) [?:1.6.0_13] ``` 已经引入的jar包: ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566268296_421812.png) 项目:![图片说明](https://img-ask.csdn.net/upload/201908/20/1566271042_863578.png) debug结果:file,fileFileName,fileContentType均为null
linux命令未找到 echo命令未找到
## 命令如下 --- ``` #!/bin/bash PID=$(ps -ef | grep spring-demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }') echo ${PID} if [ -z ${PID} ]; then     echo "服务未启动" else     echo "关闭服务: kill" ${PID}     kill ${PID} fi ``` ![图片说明](https://img-ask.csdn.net/upload/202001/21/1579597536_504219.jpg) --- ## 执行结果 --- ``` 2773 ./test.sh:行7:     echo: 未找到命令 ./test.sh:行8:     kill: 未找到命令 ``` ![图片说明](https://img-ask.csdn.net/upload/202001/21/1579597848_736238.jpg) --- # 脚本在我的mac上是可以正常运行的 版本: 10.14.6 # 云服务器版本:CentOS Linux release 7.5.1804 (Core)
在Linux下编译Unity的mono一直卡在这里
![图片说明](https://img-ask.csdn.net/upload/201707/25/1500967374_925546.png) 看日志有两个地方比较可疑,一个是这里 configure:3745: checking whether to enable maintainer-specific portions of Makefiles configure:3754: result: no 说没有开启maintainer-specific portions,但我不知道怎么开启,不知道是不是原因 另一处是arm-linux-androideabi-gcc: error: unrecognized command line option '-V' 这个好像和下面的 collect2: error: ld returned 1 exit status configure:4569: $? = 1 configure:4607: result: no configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "mono" | #define VERSION "2.6.5" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } 这个有关configure:4607: result: no这个意思好像是configure的4607行返回了一个no,文件夹内的确有一个configure文件,之后打开configure,4607行是这样的 4606 if test -z "$ac_file"; then : 4607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4608 $as_echo "no" >&6; } 4609 $as_echo "$as_me: failed program was:" >&5 4610 sed 's/^/| /' conftest.$ac_ext >&5 4611 4612 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 4613 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 4614 as_fn_error 77 "C compiler cannot create executables 4615 See \`config.log' for more details" "$LINENO" 5; } 4616 else 4617 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 4618 $as_echo "yes" >&6; } 4619 fi 这种语言没学过,看不懂什么意思,求大神指点,卡这很久了 下面是日志 This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.69. Invocation command line was $ ./configure --prefix=/home/jimmy/mono-unity-5.6/builds/android --cache-file=android_cross.cache --host=arm-eabi-linux --disable-mcs-build --disable-parallel-mark --disable-shared-handles --with-sigaltstack=no --with-tls=pthread --with-glib=embedded --enable-nls=no mono_cv_uscore=yes PATH=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm CXX=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm CPP=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp CXXCPP=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp CFLAGS=-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float CPPFLAGS=-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float CXXFLAGS=-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float LDFLAGS=-Wl,--wrap,sigaction -L/home/jimmy/mono-unity-5.6/../../android_krait_signal_handler/build/obj/local/armeabi -lkrait-signal-handler -Wl,--no-undefined -Wl,--gc-sections -Wl,-rpath-link=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm/usr/lib -ldl -lm -llog -lc LD=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ld AR=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ar AS=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-as RANLIB=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ranlib STRIP=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-strip CPATH=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm/usr/include ## --------- ## ## Platform. ## ## --------- ## hostname = ubuntu uname -m = x86_64 uname -r = 4.4.0-21-generic uname -s = Linux uname -v = #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /sbin PATH: /bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:2828: creating cache android_cross.cache configure:2934: checking build system type configure:2948: result: x86_64-pc-linux-gnu configure:2968: checking host system type configure:2981: result: arm-eabi-linux-gnu configure:3001: checking target system type configure:3014: result: arm-eabi-linux-gnu configure:3064: checking for a BSD-compatible install configure:3132: result: /usr/bin/install -c configure:3143: checking whether build environment is sane configure:3198: result: yes configure:3257: checking for arm-eabi-linux-strip configure:3284: result: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-strip configure:3349: checking for a thread-safe mkdir -p configure:3388: result: /bin/mkdir -p configure:3395: checking for gawk configure:3411: found /usr/bin/gawk configure:3422: result: gawk configure:3433: checking whether make sets $(MAKE) configure:3455: result: yes configure:3484: checking whether make supports nested variables configure:3501: result: yes configure:3591: checking whether UID '0' is supported by ustar format configure:3594: result: yes configure:3601: checking whether GID '0' is supported by ustar format configure:3604: result: yes configure:3612: checking how to create a ustar tar archive configure:3623: tar --version tar (GNU tar) 1.28 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. configure:3626: $? = 0 configure:3666: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar configure:3669: $? = 0 configure:3673: tar -xf - <conftest.tar configure:3676: $? = 0 configure:3678: cat conftest.dir/file GrepMe configure:3681: $? = 0 configure:3694: result: gnutar configure:3745: checking whether to enable maintainer-specific portions of Makefiles configure:3754: result: no configure:3771: checking whether ln -s works configure:3775: result: yes configure:3847: checking host platform characteristics configure:4065: result: ok configure:4110: checking for arm-eabi-linux-gcc configure:4137: result: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm configure:4207: checking for arm-eabi-linux-gcc configure:4234: result: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm configure:4503: checking for C compiler version configure:4512: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm --version >&5 arm-linux-androideabi-gcc (GCC) 4.8 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:4523: $? = 0 configure:4512: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm -v >&5 Using built-in specs. COLLECT_GCC=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc COLLECT_LTO_WRAPPER=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../libexec/gcc/arm-linux-androideabi/4.8/lto-wrapper Target: arm-linux-androideabi Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.8/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-cloog=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-isl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-ppl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.25 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.8 --with-gdb-version=7.7 --with-python=/usr/local/google/home/andrewhsieh/mydroid/ndk/prebuilt/linux-x86/bin/python-config.sh --with-gxx-include-dir=/tmp/ndk-andrewhsieh/build/toolchain/prefix/include/c++/4.8 --with-bugurl=http://source.android.com/source/report-bugs.html --enable-languages=c,c++ --disable-bootstrap --enable-plugins --enable-libgomp --enable-gnu-indirect-function --disable-libsanitizer --enable-gold --enable-threads --enable-graphite=yes --with-cloog-version=0.18.0 --with-isl-version=0.11.1 --enable-eh-frame-hdr-for-static --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default Thread model: posix gcc version 4.8 (GCC) configure:4523: $? = 0 configure:4512: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm -V >&5 arm-linux-androideabi-gcc: error: unrecognized command line option '-V' arm-linux-androideabi-gcc: fatal error: no input files compilation terminated. configure:4523: $? = 1 configure:4512: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm -qversion >&5 arm-linux-androideabi-gcc: error: unrecognized command line option '-qversion' arm-linux-androideabi-gcc: fatal error: no input files compilation terminated. configure:4523: $? = 1 configure:4543: checking whether the C compiler works configure:4565: /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm -DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float -DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -Wl,--wrap,sigaction -L/home/jimmy/mono-unity-5.6/../../android_krait_signal_handler/build/obj/local/armeabi -lkrait-signal-handler -Wl,--no-undefined -Wl,--gc-sections -Wl,-rpath-link=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm/usr/lib -ldl -lm -llog -lc conftest.c >&5 /home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lkrait-signal-handler collect2: error: ld returned 1 exit status configure:4569: $? = 1 configure:4607: result: no configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "mono" | #define VERSION "2.6.5" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:4612: error: in `/home/jimmy/mono-unity-5.6': configure:4614: error: C compiler cannot create executables See `config.log' for more details ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=x86_64-pc-linux-gnu ac_cv_env_CCASFLAGS_set= ac_cv_env_CCASFLAGS_value= ac_cv_env_CCAS_set= ac_cv_env_CCAS_value= ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set=set ac_cv_env_CC_value='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm' ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float' ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float' ac_cv_env_CPP_set=set ac_cv_env_CPP_value=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp ac_cv_env_CXXCPP_set=set ac_cv_env_CXXCPP_value=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float' ac_cv_env_CXX_set=set ac_cv_env_CXX_value='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm' ac_cv_env_LDFLAGS_set=set ac_cv_env_LDFLAGS_value='-Wl,--wrap,sigaction -L/home/jimmy/mono-unity-5.6/../../android_krait_signal_handler/build/obj/local/armeabi -lkrait-signal-handler -Wl,--no-undefined -Wl,--gc-sections -Wl,-rpath-link=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm/usr/lib -ldl -lm -llog -lc ' ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_LT_SYS_LIBRARY_PATH_set= ac_cv_env_LT_SYS_LIBRARY_PATH_value= ac_cv_env_XMKMF_set= ac_cv_env_XMKMF_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=arm-eabi-linux ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_host=arm-eabi-linux-gnu ac_cv_path_install='/usr/bin/install -c' ac_cv_path_mkdir=/bin/mkdir ac_cv_prog_AWK=gawk ac_cv_prog_CC='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm' ac_cv_prog_STRIP=/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-strip ac_cv_prog_make_make_set=yes ac_cv_target=arm-eabi-linux-gnu am_cv_make_support_nested_variables=yes am_cv_prog_tar_ustar=gnutar mono_cv_uscore=yes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/jimmy/mono-unity-5.6/missing aclocal-1.15' ALPHA_FALSE='' ALPHA_TRUE='' AMD64_FALSE='' AMD64_TRUE='' AMDEPBACKSLASH='' AMDEP_FALSE='' AMDEP_TRUE='' AMTAR='$${TAR-tar}' AM_BACKSLASH='\' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' AM_DEFAULT_VERBOSITY='1' AM_V='$(V)' API_VER='1.0' AR='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ar' ARM_FALSE='' ARM_TRUE='' AS='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-as' AUTOCONF='${SHELL} /home/jimmy/mono-unity-5.6/missing autoconf' AUTOHEADER='${SHELL} /home/jimmy/mono-unity-5.6/missing autoheader' AUTOMAKE='${SHELL} /home/jimmy/mono-unity-5.6/missing automake-1.15' AWK='gawk' BISON='' BUILD_EXEEXT='' BUILD_GLIB_CFLAGS='' BUILD_GLIB_LIBS='' BUILD_MCS_FALSE='' BUILD_MCS_TRUE='' CC='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm' CCAS='' CCASDEPMODE='' CCASFLAGS='' CCDEPMODE='' CC_FOR_BUILD='' CFLAGS='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float' CFLAGS_FOR_BUILD='' CPP='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp' CPPFLAGS='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP' CROSS_COMPILING_FALSE='' CROSS_COMPILING_TRUE='' CXX='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ --sysroot=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm' CXXCPP='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp' CXXDEPMODE='' CXXFLAGS='-DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic -g -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float' CYGPATH_W='echo' DEFS='' DEPDIR='' DISABLE_JIT_FALSE='' DISABLE_JIT_TRUE='' DISABLE_MCS_DOCS_FALSE='' DISABLE_MCS_DOCS_TRUE='' DISABLE_PROFILER_FALSE='' DISABLE_PROFILER_TRUE='' DISABLE_SHARED_HANDLES='' DLLTOOL='' DOLT_BASH='' DSYMUTIL='' DTRACE='' DTRACEFLAGS='' DTRACE_G_REQUIRED_FALSE='' DTRACE_G_REQUIRED_TRUE='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGLIB_BUILD_FALSE='' EGLIB_BUILD_TRUE='' EGREP='' ENABLE_DTRACE_FALSE='' ENABLE_DTRACE_TRUE='' ENABLE_LLVM_FALSE='' ENABLE_LLVM_TRUE='' ENABLE_NUNIT_TESTS_FALSE='' ENABLE_NUNIT_TESTS_TRUE='' EXEEXT='' FGREP='' GETTEXT_MACRO_VERSION='' GLIB_CFLAGS='' GLIB_LIBS='' GMODULE_CFLAGS='' GMODULE_LIBS='' GMSGFMT='' GMSGFMT_015='' GREP='' HAVE_BOEHM_GC='' HAVE_MSGFMT='' HAVE_OPROFILE_FALSE='' HAVE_OPROFILE_TRUE='' HAVE_ZLIB_FALSE='' HAVE_ZLIB_TRUE='' HOST_CC='' HPPA_FALSE='' HPPA_TRUE='' IA64_FALSE='' IA64_TRUE='' INCLUDED_LIBGC_FALSE='' INCLUDED_LIBGC_TRUE='' INSTALL_2_0_FALSE='' INSTALL_2_0_TRUE='' INSTALL_2_1_FALSE='' INSTALL_2_1_TRUE='' INSTALL_4_0_FALSE='' INSTALL_4_0_TRUE='' INSTALL_DATA='${INSTALL} -m 644' INSTALL_MONOTOUCH_FALSE='' INSTALL_MONOTOUCH_TRUE='' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' INSTALL_UNITY_FALSE='' INSTALL_UNITY_TRUE='' INTERP_SUPPORTED_FALSE='' INTERP_SUPPORTED_TRUE='' INTL='' JIT_SUPPORTED_FALSE='' JIT_SUPPORTED_TRUE='' LD='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ld' LDFLAGS='-Wl,--wrap,sigaction -L/home/jimmy/mono-unity-5.6/../../android_krait_signal_handler/build/obj/local/armeabi -lkrait-signal-handler -Wl,--no-undefined -Wl,--gc-sections -Wl,-rpath-link=/home/jimmy/android-ndk_auto-r10e/platforms/android-9/arch-arm/usr/lib -ldl -lm -llog -lc ' LIBC='' LIBGC_CFLAGS='' LIBGC_LIBS='' LIBGC_STATIC_LIBS='' LIBOBJS='' LIBS='' LIBTOOL='' LIPO='' LLVM_CFLAGS='' LLVM_CONFIG='' LLVM_CXXFLAGS='' LLVM_LDFLAGS='' LLVM_LIBS='' LN_S='ln -s' LTCOMPILE='' LTCXXCOMPILE='' LTLIBOBJS='' LT_SYS_LIBRARY_PATH='' M68K_FALSE='' M68K_TRUE='' MAINT='#' MAINTAINER_MODE_FALSE='' MAINTAINER_MODE_TRUE='#' MAKEINFO='${SHELL} /home/jimmy/mono-unity-5.6/missing makeinfo' MANIFEST_TOOL='' MIPS_FALSE='' MIPS_GCC_FALSE='' MIPS_GCC_TRUE='' MIPS_SGI_FALSE='' MIPS_SGI_TRUE='' MIPS_TRUE='' MKDIR_P='/bin/mkdir -p' MONO_DEBUGGER_SUPPORTED_FALSE='' MONO_DEBUGGER_SUPPORTED_TRUE='' MONO_DL_NEED_USCORE='' MSGFMT='' MSGFMT_015='' MSGMERGE='' NM='' NMEDIT='' NO_VERSION_SCRIPT_FALSE='' NO_VERSION_SCRIPT_TRUE='' OBJDUMP='' OBJEXT='' OPROFILE_CFLAGS='' OPROFILE_LIBS='' OTOOL64='' OTOOL='' PACKAGE='mono' PACKAGE_BUGREPORT='' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_URL='' PACKAGE_VERSION='' PATH_SEPARATOR=':' PKG_CONFIG='' PLATFORM_DARWIN_FALSE='' PLATFORM_DARWIN_TRUE='#' PLATFORM_LINUX_FALSE='#' PLATFORM_LINUX_TRUE='' PLATFORM_SIGPOSIX_FALSE='#' PLATFORM_SIGPOSIX_TRUE='' PLATFORM_WIN32_FALSE='' PLATFORM_WIN32_TRUE='#' POWERPC64_FALSE='' POWERPC64_TRUE='' POWERPC_FALSE='' POWERPC_TRUE='' RANLIB='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ranlib' S390_FALSE='' S390_TRUE='' S390x_FALSE='' S390x_TRUE='' SED='' SET_MAKE='' SHELL='/bin/bash' SPARC64_FALSE='' SPARC64_TRUE='' SPARC_FALSE='' SPARC_TRUE='' SQLITE3='' SQLITE='' STATIC_MONO_FALSE='' STATIC_MONO_TRUE='' STRIP='/home/jimmy/android-ndk_auto-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-strip' USE_BATCH_FILES_FALSE='' USE_BATCH_FILES_TRUE='' USE_JIT_FALSE='' USE_JIT_TRUE='' USE_NLS='' VERSION='2.6.5' X11='' X86_FALSE='' X86_TRUE='' XATTR_LIB='' XGETTEXT='' XGETTEXT_015='' XGETTEXT_EXTRA_OPTIONS='' XMKMF='' ac_ct_AR='' ac_ct_CC='' ac_ct_CXX='' ac_ct_DUMPBIN='' am__EXEEXT_FALSE='' am__EXEEXT_TRUE='' am__fastdepCCAS_FALSE='' am__fastdepCCAS_TRUE='' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='' am__fastdepCXX_TRUE='' am__include='' am__isrc='' am__leading_dot='.' am__nodep='' am__quote='' am__tar='tar --format=ustar -chf - "$$tardir"' am__untar='tar -xf -' arch_target='' bindir='${exec_prefix}/bin' build='x86_64-pc-linux-gnu' build_alias='' build_cpu='x86_64' build_os='linux-gnu' build_vendor='pc' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE}' docs_dir='' dvidir='${docdir}' eglib_dir='' exec_prefix='NONE' export_ldflags='' host='arm-eabi-linux-gnu' host_alias='arm-eabi-linux' host_cpu='arm' host_os='linux-gnu' host_vendor='eabi' htmldir='${docdir}' ikvm_native_dir='' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='${SHELL} /home/jimmy/mono-unity-5.6/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' libgc_dir='' libgdiplus_loc='' libmono_cflags='-D_REENTRANT' libmono_ldflags='' libsuffix='' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='${datarootdir}/man' mcs_topdir='' mcs_topdir_from_srcdir='' mkdir_p='$(MKDIR_P)' mono_build_root='' mono_cfg_dir='' mono_runtime='' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/home/jimmy/mono-unity-5.6/builds/android' program_transform_name='s,x,x,' psdir='${docdir}' reloc_libdir='lib' runstatedir='${localstatedir}/run' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' subdirs='' sysconfdir='${prefix}/etc' target='arm-eabi-linux-gnu' target_alias='' target_cpu='arm' target_os='linux-gnu' target_vendor='eabi' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PACKAGE_STRING "" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" #define PACKAGE "mono" #define VERSION "2.6.5" configure: exit 77
Linux UE4Editor 打开的时候每次运行到96%就崩溃,错误提示如下
LoginId:4de9fbeb231c4d9c9c1c80580d0d2eb2-000003e8 EpicAccountId: Assertion failed: bSuccess [File:/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp] [Line: 364] libUE4Editor-Core.so!FGenericPlatformMisc::RaiseException(unsigned int) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp:411] libUE4Editor-Core.so!FUnixErrorOutputDevice::Serialize(char16_t const*, ELogVerbosity::Type, FName const&) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Unix/UnixPlatformStackWalk.cpp:70] libUE4Editor-Core.so!FOutputDevice::LogfImpl(char16_t const*, ...) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:71] libUE4Editor-Core.so!AssertFailedImplV(char const*, char const*, int, char16_t const*, __va_list_tag*) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Misc/AssertionMacros.cpp:101] libUE4Editor-Core.so!FDebug::CheckVerifyFailedImpl(char const*, char const*, int, char16_t const*, ...) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Misc/AssertionMacros.cpp:436] libUE4Editor-VulkanRHI.so!FVulkanCommandBufferManager::WaitForCmdBuffer(FVulkanCmdBuffer*, float) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:364] libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::RHIGetRenderQueryResult(FRHIRenderQuery*, unsigned long long&, bool) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/VulkanRHI/Private/VulkanQuery.cpp:513] libUE4Editor-UtilityShaders.so!MeasureLongGPUTaskExecutionTime(FRHICommandListImmediate&) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/UtilityShaders/Private/LongGPUTask.cpp:87] UE4Editor!TGraphTask<TEnqueueUniqueRenderCommandType<FEngineLoop::Tick()::MeasureLongGPUTaskExecutionTimeCmdName, FEngineLoop::Tick()::$_21> >::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:842] libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:685] libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:581] libUE4Editor-RenderCore.so!RenderingThreadMain(FEvent*) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:332] libUE4Editor-RenderCore.so!FRenderingThread::Run() [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:481] libUE4Editor-Core.so!FRunnableThreadPThread::Run() [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25] libUE4Editor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/media/zhoulifan/ce0d2b6f-dfc8-427b-af98-c05b647784d2/zhoulifan/UnrealEngine_4.22/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:177] libpthread.so.0!UnknownFunction(0x76da) libc.so.6!clone(+0x3e)
linux c语言程序coredump
程序运行出现core dump,用gdb run coredup file,显示core文件被截断(truncated),expected core file size>某个值,found某个值,found的值是我在limit环境变量 的。是不是程序有问题,导致内存崩溃,现在就是无法定位问题,求高人指点。
Asp.NET Core2.0部署在Linux上出问题
同一个项目,Windows上用dotnet build 可以build成功, 放到Linux上,dotnet build 就会报错: /usr/share/dotnet/sdk/2.0.0/Microsoft.Common.CurrentVersion.targets(2924,5): error MSB3552: Resource file "**/*.resx" cannot be found.
Linux中的绝对路径 在java
File file = new File("/usr/local/apache2/htdocs/eworld01/tap.xml"); BufferedReader red = new FileReader(file); 为什么这路径读不到~~ [b]问题补充:[/b] 由于我对Linux中的路径很不熟悉 异常如下: An error occurred at line: 21 in the jsp file: /createSitemap.jsp The method readConfigSitemap() in the type CreateSitemap is not applicable for the arguments (String) 18: BufferedReader bf = null; 19: try { 20: //鐢熸垚sitemap.xml鏂囦欢 21: String path_name = createSitemap.readConfigSitemap(path_url); 22: //path_name = "/usr/local/apache2/htdocs/eworld01"; 23: //璇诲嚭sitemap.xml鏂囦欢 24: File file = new File(path_url+"/tap.xml"); Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) [b]问题补充:[/b] 多谢各位的回答~ 其实问题很简单~就是简单的I/O流的输出 这个错我也知道是路径出错了 只想问一下Linux中的路径是怎样子的,Linux是没有盘符的 /usr/local/apache2/htdocs/eworld01/tap.xml 这个路劲有错吗?我真的想不明白为什么会报着路劲错! [b]问题补充:[/b] :o 请问 pJun 兄台 了解过Linux中的路径没~~其实和XP本地路径是完全不同的~~ /usr/local/apache2/htdocs/eworld01/tap.xml这路径有错吗?用IO流读得到吗? [b]问题补充:[/b] 再次谢谢各位的帮助~ 其实问题早以解决了 只想了解的更多一点 我这问题是用全局变量解决的 [b]问题补充:[/b] 不好意思 贴出来的时候搞乱了~多谢 fengyunhust 兄台的指出 看得挺仔细的 好欣赏哦~我们在工作中无论做什么多要细心点,否则损的是自己
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
MyBatis研习录(01)——MyBatis概述与入门
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往——自定义View系列教程(10篇) 走出思维困境,踏上精进之路——Android开发进阶精华录 讲给Android程序员看的前端系列教程(40集免费视频教程+源码) 版权声明 本文原创作者:谷哥的小弟 作者博客
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序
Python:爬取疫情每日数据
前言 有部分同学留言说为什么412,这是因为我代码里全国的cookies需要你自己打开浏览器更新好后替换,而且这个cookies大概只能持续20秒左右! 另外全国卫健委的数据格式一直在变,也有可能会导致爬取失败! 我现在已根据2月14日最新通报稿的格式修正了! 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 为什么已经有大量平台做
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
粒子群算法求解物流配送路线问题(python)
粒子群算法求解物流配送路线问题(python) 1.查找论文文献 找一篇物流配送路径优化+粒子群算法求解的论文 参考文献:基于混沌粒子群算法的物流配送路径优化 2.了解粒子群算法的原理 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/details/81382794 3.确定编码方式和解码策略 3.1编码方式 物流配送路线的
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang.
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问