使用RXTXxcomm报错 EXCEPTION_ACCESS_VIOLATION (0xc0000005) C [rxtxSerial.dll+0x5b00]

我是个新手,想用rxtxcomm读一个传感器通过USB传来的数据的,结果一直报错,搞了两天都没有解决。郁闷,求高手指导啊。
源码如下:
package com.comm;

import java.io.IOException;
import java.io.InputStream;

import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.UnsupportedCommOperationException;

public class ComPollingListener {

public static void main(String[] args) {

    //1.定义变量
    CommPortIdentifier com = null;          //未打开的端口
    SerialPort serialCom = null;            //打开的端口
    InputStream inputStream = null;         //端口输入流

    try {
        //2.获取并打开串口COM
        com=CommPortIdentifier.getPortIdentifier("COM3");                   //com口为COM3
        serialCom=(SerialPort) com.open("ComEventListener", 1000);

        //设置端口参数
        try {
            serialCom.setSerialPortParams(
                    15200,//波特率
                    SerialPort.DATABITS_8,//数据位数
                    SerialPort.STOPBITS_1,//停止位
                    SerialPort.PARITY_NONE//奇偶位
            );
        }catch (UnsupportedCommOperationException e) {
            e.printStackTrace();
        }

        //3.获取串口的输入流对象
        inputStream = serialCom.getInputStream();

        //4.从串口读入数据
        //定义用于缓存读入数据的数组
        byte[] cache = new byte[2];
        //记录已经到达串口COM且未被读取的数据的字节(Byte)数。
        int availableBytes = 0;

        //无限循环,每隔20毫秒对串口COM进行一次扫描,检查是否有数据到达
        while(true){
            //获取串口COM收到的可用字节数
            availableBytes = inputStream.available();
            //如果可用字节数大于零则开始循环并获取数据
            System.out.println(availableBytes+";");
            while(availableBytes > 0){                  

                //从串口的输入流对象中读入数据并将数据存放到缓存数组中
                inputStream.read(cache);

// System.out.println("进来了");
System.out.println(cache.length);
//将获取到的数据进行转码并输出
for(int j = 0;j < cache.length && j < availableBytes; j++){
//因为COM口发送的是使用byte数组表示的字符串,所以在此将接收到的每个字节的数据都强制装换为char对象即可,
//这是一个简单的编码转换,可以根据需要进行更加复杂的编码转换
System.out.print((char)cache[j]);
// System.out.println(cache.length);
}
// System.out.println("完成");
//更新循环条件
availableBytes = inputStream.available();
}
//让线程睡眠20毫秒
Thread.sleep(20);
}
}catch (InterruptedException e){
e.printStackTrace();
}catch (NoSuchPortException e) {
//找不到串口的情况下抛出该异常
e.printStackTrace();
}catch (PortInUseException e) {
//如果因为端口被占用而导致打开失败,则抛出该异常
e.printStackTrace();
}catch (IOException e) {
//如果获取输出流失败,则抛出该异常
e.printStackTrace();
}

}

}

异常为:

A fatal error has been detected by the Java Runtime Environment:

#

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000180005b00, pid=9664, tid=7652

#

JRE version: Java(TM) SE Runtime Environment (11.0.1+13) (build 11.0.1+13-LTS)

Java VM: Java HotSpot(TM) 64-Bit Server VM (11.0.1+13-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)

Problematic frame:

C [rxtxSerial.dll+0x5b00]

#

No core dump will be written. Minidumps are not enabled by default on client versions of Windows

2个回答

我也遇到了相同的问题,折磨了两天,尝试了几种方法
1、更改ecplice工作区间(我最后尝试的一个方法,居然就好了,我哭了)(https://blog.csdn.net/dxnn520/article/details/97653784)
2、更改jvm内存大小(https://blog.csdn.net/lihushiwoa/article/details/17325501)
3、更改ecplice.ini(https://blog.csdn.net/jiangye9/article/details/82428466?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1)
4、重装jdk(https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot)
5、更换编译器
6、求大佬看代码或日志报告
emmmmm,这是我能想到的所有方法了,希望对需要的人有帮助

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用RXTXxcomm报错 EXCEPTION_ACCESS_VIOLATION (0xc0000005) C [rxtxSerial.dll+0x5b00]

我是个新手,想用rxtxcomm读一个传感器通过USB传来的数据的,结果一直报错,搞了两天都没有解决。郁闷,求高手指导啊。 源码如下: package com.comm; import java.io.IOException; import java.io.InputStream; import gnu.io.CommPortIdentifier; import gnu.io.NoSuchPortException; import gnu.io.PortInUseException; import gnu.io.SerialPort; import gnu.io.UnsupportedCommOperationException; public class ComPollingListener { public static void main(String[] args) { //1.定义变量 CommPortIdentifier com = null; //未打开的端口 SerialPort serialCom = null; //打开的端口 InputStream inputStream = null; //端口输入流 try { //2.获取并打开串口COM com=CommPortIdentifier.getPortIdentifier("COM3"); //com口为COM3 serialCom=(SerialPort) com.open("ComEventListener", 1000); //设置端口参数 try { serialCom.setSerialPortParams( 15200,//波特率 SerialPort.DATABITS_8,//数据位数 SerialPort.STOPBITS_1,//停止位 SerialPort.PARITY_NONE//奇偶位 ); }catch (UnsupportedCommOperationException e) { e.printStackTrace(); } //3.获取串口的输入流对象 inputStream = serialCom.getInputStream(); //4.从串口读入数据 //定义用于缓存读入数据的数组 byte[] cache = new byte[2]; //记录已经到达串口COM且未被读取的数据的字节(Byte)数。 int availableBytes = 0; //无限循环,每隔20毫秒对串口COM进行一次扫描,检查是否有数据到达 while(true){ //获取串口COM收到的可用字节数 availableBytes = inputStream.available(); //如果可用字节数大于零则开始循环并获取数据 System.out.println(availableBytes+";"); while(availableBytes > 0){ //从串口的输入流对象中读入数据并将数据存放到缓存数组中 inputStream.read(cache); // System.out.println("进来了"); System.out.println(cache.length); //将获取到的数据进行转码并输出 for(int j = 0;j < cache.length && j < availableBytes; j++){ //因为COM口发送的是使用byte数组表示的字符串,所以在此将接收到的每个字节的数据都强制装换为char对象即可, //这是一个简单的编码转换,可以根据需要进行更加复杂的编码转换 System.out.print((char)cache[j]); // System.out.println(cache.length); } // System.out.println("完成"); //更新循环条件 availableBytes = inputStream.available(); } //让线程睡眠20毫秒 Thread.sleep(20); } }catch (InterruptedException e){ e.printStackTrace(); }catch (NoSuchPortException e) { //找不到串口的情况下抛出该异常 e.printStackTrace(); }catch (PortInUseException e) { //如果因为端口被占用而导致打开失败,则抛出该异常 e.printStackTrace(); }catch (IOException e) { //如果获取输出流失败,则抛出该异常 e.printStackTrace(); } } } 异常为: # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000180005b00, pid=9664, tid=7652 # # JRE version: Java(TM) SE Runtime Environment (11.0.1+13) (build 11.0.1+13-LTS) # Java VM: Java HotSpot(TM) 64-Bit Server VM (11.0.1+13-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) # Problematic frame: # C [rxtxSerial.dll+0x5b00] # # No core dump will be written. Minidumps are not enabled by default on client versions of Windows

Eclipse 运行时问题:EXCEPTION_ACCESS_VIOLATION (0xc0000005)

# # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x05f0831c, pid=2064, tid=6100 # # JRE version: 6.0_20-b02 # Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 ) # Problematic frame: # C [libapr-1.dll+0x831c] # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x044a7400): JavaThread "Worker-2" [_thread_in_native, id=6100, stack(0x07d30000,0x07e30000)] siginfo: ExceptionCode=0xc0000005, reading address 0x00000000 Registers: EAX=0x011cf070, EBX=0x00000000, ECX=0x00000000, EDX=0x00000000 ESP=0x07e2759c, EBP=0x07e275a8, ESI=0x0052ff80, EDI=0x00000000 EIP=0x05f0831c, EFLAGS=0x00010246 Top of Stack: (sp=0x07e2759c) 0x07e2759c: 00000000 0052ff80 011cf070 07e295d4 0x07e275ac: 04a01f32 07e295d0 011cf070 00000000 。。。。。。。。。。。。。。 下面是一堆数字和英文的组合,就没必要了。 谢谢游览的,出主意的

tomcat8挂了 hs_err_pid EXCEPTION_ACCESS_VIOLATION

A fatal error has been detected by the Java Runtime Environment: EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000180007e33, pid=17112, tid=35084 JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03) Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode windows-amd64 compressed oops) Problematic frame: C [tcnative-1.dll+0x7e33] Core dump written. Default location: D:\apache-tomcat-8.0.9\bin\hs_err_pid17112.mdmp If you would like to submit a bug report, please visit: http://bugreport.java.com/bugreport/crash.jsp The crash happened outside the Java Virtual Machine in native code. See problematic frame for where to report the bug.

WIN10环境object_detection api训练时报错:Windows fatal exception: access violation

报错内容: Windows fatal exception: access violation Current thread 0x00000e40 (most recent call first): File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 84 in _preread_check File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 122 in read File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\utils\label_map_util.py", line 138 in load_labelmap File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\utils\label_map_util.py", line 169 in get_label_map_dict File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\data_decoders\tf_example_decoder.py", line 64 in __init__ File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\data_decoders\tf_example_decoder.py", line 319 in __init__ File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\builders\dataset_builder.py", line 130 in build File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\inputs.py", line 579 in train_input File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.7.egg\object_detection\inputs.py", line 476 in _train_input_fn File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1116 in _call_input_fn File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1025 in _get_features_and_labels_from_input_fn File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1188 in _train_model_default File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1161 in _train_model File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 370 in train File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\training.py", line 714 in run_local File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\training.py", line 613 in run File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_estimator\python\estimator\training.py", line 473 in train_and_evaluate File ".\object_detection\model_main.py", line 105 in main File "C:\ProgramData\Anaconda3\lib\site-packages\absl\app.py", line 250 in _run_main File "C:\ProgramData\Anaconda3\lib\site-packages\absl\app.py", line 299 in run File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_core\python\platform\app.py", line 40 in run File ".\object_detection\model_main.py", line 109 in <module>

idea17,下载一打开就报错

A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=13352, tid=0x000000000000363c # # JRE version: (8.0_152-b05) (build ) # Java VM: OpenJDK 64-Bit Server VM (25.152-b5 mixed mode windows-amd64 compressed oops) # Problematic frame: # C 0x0000000000000000 # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # 。 。 。 。 。

VC++报错,Access Violation.

void CDahaojiDlg::OnTimer(UINT nlDEvent) { ****** if(nlDEvent==2) { CTimeSpan time=time2-time1; strTime1.Format("%2d小时 %2d分 %2d秒",time.GetHours(),time.GetMinutes(),time.GetSeconds()); GetDlgItem(IDC_STATIC29)->SetWindowText(strTime1); if(strTime1=="0小时0分0秒") { KillTimer(2); SetTimer(21,1000,NULL); } } ****** } On Timer中运行到GetDlgItem(__IDC__STATIC29)->SetWindowText(strTime1); 时出现Unhandled exception in xxx.exe (MFC42.DLL): 0XC0000005: Access Violation.本人是菜鸟不太懂,请各位大侠帮忙。_

Bert训练模型时报错:Windows fatal exception: access violation

运行之后: ``` 2020-04-28 23:26:44.729208: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll Windows fatal exception: access violation Current thread 0x00004a90 (most recent call first): File "C:\Users\DELL\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 84 in _preread_check File "C:\Users\DELL\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow_core\python\lib\io\file_io.py", line 122 in read File "D:\senti\code\Bert\modeling.py", line 94 in from_json_file File "D:/senti/code/Bert/run_classifier.py", line 844 in main File "C:\Users\DELL\Anaconda3\envs\tensorflow-gpu\lib\site-packages\absl\app.py", line 250 in _run_main File "C:\Users\DELL\Anaconda3\envs\tensorflow-gpu\lib\site-packages\absl\app.py", line 299 in run File "C:\Users\DELL\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow_core\python\platform\app.py", line 40 in run File "D:/senti/code/Bert/run_classifier.py", line 1025 in <module> Process finished with exit code -1073741819 (0xC0000005) ```

VMware打开Ubuntu时显示错误Exception 0xc0000005 (access violation) has occurred.

BIOS设置的虚拟化已经启用,还是找不到解决的方法。。。 ![图片说明](https://img-ask.csdn.net/upload/201911/09/1573272419_981306.png)

Java 使用jacob便利dll中的集合

# # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x001ee150, pid=5096, tid=7548 # # JRE version: Java(TM) SE Runtime Environment (8.0_73-b02) (build 1.8.0_73-b02) # Java VM: Java HotSpot(TM) Client VM (25.73-b02 mixed mode, sharing windows-x86 ) # Problematic frame: # C [jacob-1.14.3-x86.dll+0xe150] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # C:\Users\Administrator\Desktop\jacob\hs_err_pid5096.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. #

Java 串口通信程序崩溃 高分求帮忙

系统提示异常如下: # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0d4c5cf6, pid=6752, tid=8468 # # Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode windows-x86) # Problematic frame: # C [rxtxSerial.dll+0x5cf6] # # An error report file with more information is saved as: # D:\apache-tomcat-7.0.82\bin\hs_err_pid6752.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # 可以正常通信只有在调用关闭的时候。出现系统崩溃。 环境是在windows JDK1.6 下开发。 RXTX 调用 serialPort.close();这个方法就出异常。求各位大神帮帮忙。

VMware弹出: 不可恢复错误: (vcpu-0)+ Exception 0xc0000005 (access violation) has occurred.

VMware15每次打开Ubuntu时都弹出: VMware Workstation 不可恢复错误: (vcpu-0) Exception 0xc0000005 (access violation) has occurred. ...导致所有的Ubuntu版本都无法正常运行,求大神帮忙,一周开不了虚拟机了,呜呜 (cpu已开启虚拟化) ![图片说明](https://img-ask.csdn.net/upload/201911/05/1572965733_244646.png)

C++初学遇到Access Violation,求助

#include<stdio.h> int main() { int num[5]; int i=1,max,min; printf("请输入五个数字\n"); while (i<=5) { scanf("%d",&num[i]); i++; } max=num[1]; min=num[1]; for(i=2;i<=5;i++) { if (max<num[i]) max=num[i]; if (min>num[i]) min=num[i]; } printf("max=%d min=%d",max,min); return 0; } 这是代码

0xC0000005: Access Violation

0xC0000005: Access Violation 下面是代码求大神指导![图片](https://img-ask.csdn.net/upload/201601/12/1452611760_389880.jpg)

求大神解答:Runtime Error(ACCESS_VIOLATION)是个什么错误?

在杭电oj上做到了一个线段树的问题,但当时我并不是很懂线段数,所以就尝试了其他方法,只用了数组,结果运行之后的答案是对的,submit之后却显示了Runtime Error(ACCESS_VIOLATION),求大神解答。

关于jacod访问服务器sql server数据库的错误问题

代码如图:服务器IP被我改成本地的了,用工具访问没有问题,每次执行到红框部分就报错, 然后tomcat就自动关闭了![图片说明](https://img-ask.csdn.net/upload/201606/25/1466839670_422364.png) 错误如图:![图片说明](https://img-ask.csdn.net/upload/201606/25/1466839693_251640.png)

0xc0000005 access violation

程序运行出现以下错误,,,,,,,,, 不知道哪里错了求解求求求求求求求求

windows 7下,cygwin+ffmpeg

export NDK=/cygdrive/D/WorkTool/android-ndk-r13b export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 export PLATFORM=$NDK/platforms/android-19/arch-arm export PREFIX=../simplefflib build_one(){ ./configure --target-os=linux --prefix=$PREFIX \ --enable-cross-compile \ --enable-runtime-cpudetect \ --disable-asm \ --arch=arm \ --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \ --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \ --disable-stripping \ --nm=$PREBUILT/bin/arm-linux-androideabi-nm \ --sysroot=$PLATFORM \ --enable-gpl --enable-shared --disable-static --enable-small \ --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug \ --extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a" } build_one /// 建立上述.sh文件,修改权限后,执行./xx.sh。 提示里面的命令和路径都找不到,请问下,大家这是为啥?是哪里路径没配置吗?

HttpWatch在IE11上不能使用

截取信息时报错:Code: 0xc0000005 (EXCEPTION_ACCESS_VIOLATION) Address: 0x0878001B (A MiniDump has already been written by this process to C:\Users***1\AppData\Local\Temp\httpwatchpro.dll.5232.4728.dmp) SafeRead Version: 9.4.17 Exception type: WIN32

感觉插入函数错了 出现Unhandled exception in 1.exe: 0xC0000005: Access Violation

#include<stdio.h> #include<stdlib.h> #include<malloc.h> #define OverFlow -1 #define OK 1 typedef struct { int coe; int exp; }Elemtype; typedef struct node { Elemtype data; struct node *next; }PNode,*Linklist; int Contruct_Tables(Linklist *Head) { Linklist p; p=(Linklist)malloc(sizeof(PNode)); if(p==NULL) return OverFlow; p->next=NULL; *Head=p; return OK; } int Insert_Last(Linklist Head, int n) { Elemtype x; int i=0; Linklist p,q; int k=0; p=(Linklist)malloc(sizeof(PNode)); if(p==NULL) return OverFlow; while(i<n) { printf("输入系数:\n"); scanf("%d",&x.coe); printf("输入指数:\n"); scanf("%d",&x.exp); p->data.coe=x.coe; p->data.exp=x.exp; q=Head; while(q->next!=NULL) { q=q->next; } q->next=p; i++; } return OK; } Linklist Add(Linklist Head1,Linklist Head2) { Linklist p=Head1; Linklist q=Head2; Linklist r; while(p->next!=NULL) { p=p->next; } p->next=q->next; free(Head2); p=Head1->next; while(p->next!=NULL) { while(q->next!=NULL) { q=Head1->next; r=q; q=q->next; if(p->data.exp==q->data.exp) {p->data.coe=p->data.coe+q->data.coe; r->next=q->next; free(q); } } } p=p->next; return Head1; } int Show_Linklist(Linklist Head) { Linklist p=Head->next; Linklist q=p; Linklist r=Head; while(p->next!=NULL) { while(q->next!=NULL) { q=q->next; if(p->data.exp>q->data.exp) { p->next=q->next; q->next=p; r->next=q; } } r=r->next; p=p->next; } p=Head->next; if(p==NULL); printf("空表"); while(p!=NULL&&p->next!=NULL) { printf("%dx^%d+",p->data.coe,p->data.exp); } if(p!=NULL&&p->next==NULL) printf("%dx^%d",p->data.coe,p->data.exp); return OK; } int main() { int Contruct_Tables(Linklist *Head); int Insert_Last(Linklist Head,int n); Linklist Add(Linklist Head1,Linklist Head2); int Show_Linklist(Linklist Head); int n; int p; Linklist Head1; Linklist Head2; printf("建立表1\n"); Contruct_Tables(&Head1); printf("输入元素个数:\n"); scanf("%d",&n); Insert_Last(Head1,n); printf("建立表2\n"); Contruct_Tables(&Head2); printf("输入元素个数:\n"); scanf("%d",&p); Insert_Last(Head2,p); Add(Head1,Head2); Show_Linklist(Add(Head1,Head2)); return OK; }

(MFC42D.DLL):0xC0000005:Access Violation

void CMyscanDlg::OnButton1Start() { // TODO: Add your control notification handler code here CString btnTxt,IP; UINT nSinglePort; BYTE f1,f2,f3,f4; TCHAR temp[10]="\0"; m_cProgress.SetPos(0); m_cResult.DeleteAllItems();//清空所有条目 POSITION p=m_pStatusList->GetHeadPosition(); while(p) { POSITION temp=p; DATA* pNode=(DATA*)m_pStatusList->GetNext(p); m_pStatusList->RemoveAt(temp); if (pNode)//pNode!=null delete pNode; } //判断IP是否为空 if(m_cIP.IsBlank()) { MessageBox("请输入主机IP地址"); return; } if(m_cIP.GetAddress(f1,f2,f3,f4)<4)//判断输入IP是否有误 { MessageBox("请输入有效的IP地址"); return; } IP=_itoa(f1,temp,10); IP+=_T('.'); IP+=_itoa(f2,temp,10); IP+=_T('.'); IP+=_itoa(f3,temp,10); IP+=_T('.'); IP+=_itoa(f4,temp,10); m_cBtnStop.EnableWindow();//停止按键默认允许 m_cBtnScan.EnableWindow(false);//扫描按键被禁止 if(m_bSinglePort) { CString port; m_cSinglePort.GetWindowText(port); //最大端口等于最小端口视为单个端口扫描 m_minPort=m_maxPort=nSinglePort=atoi(port); } else { CString port1,port2; m_cPortFrom.GetWindowText(port1); m_cPortTo.GetWindowText(port2); m_minPort=atoi(port1); m_maxPort=atoi(port2); //进度条 m_cProgress.SetRange32(0,m_maxPort-m_minPort+1); m_cProgress.SetStep(1); } if (m_maxPort<m_minPort) { MessageBox(_T("您输入的端口范围有误,请重新输入")); return; } UINT m_nMaxAttempts=GetDlgItemInt(IDC_EDIT_ATTEMPTS); for(m_nCounter=m_minPort;m_nCounter<=m_maxPort;m_nCounter++) { BOOL bIsOpen=false; UINT nAttempt=1; //尝试次数 while(nAttempt<=m_nMaxAttempts && !bIsOpen) { TCHAR temp[10]="\0"; CString str=_T("尝试连接端口:"); str+=itoa(m_nCounter,temp,10); str+=_T(", IP地址为="); str+=IP; str+=_T(", 尝试次数为="); str+=itoa(nAttempt,temp,10); CStatic* pStatic=(CStatic*)GetDlgItem(IDC_STATIC_STATUS); pStatic->SetWindowText(str);//(也有用这个函数的SetStatusBarText) str.Empty(); bIsOpen=TestConnection(IP,m_nCounter); if(bIsOpen) { DATA* pNode=new DATA; ASSERT(pNode); strcpy(pNode->IPAddress,IP.GetBuffer(IP.GetLength())); strcpy(pNode->port,_itoa(m_nCounter,temp,10)); pNode->bStatus=1; //打开 pNode->nAttempts=nAttempt; m_pStatusList->AddTail(pNode); } nAttempt++; } if (!bIsOpen) { DATA* pNode=new DATA; ASSERT(pNode); strcpy(pNode->IPAddress,IP.GetBuffer(IP.GetLength())); strcpy(pNode->port,_itoa(m_nCounter,temp,10)); pNode->bStatus=0; //关闭 pNode->nAttempts=nAttempt-1; m_pStatusList->AddTail(pNode); } MSG message; if (::PeekMessage(&message,NULL,0,0,PM_REMOVE)) { ::TranslateMessage(&message); ::DispatchMessage(&message); } m_cProgress.StepIt(); } //设定状态栏 CStatic* pStatic=(CStatic*)GetDlgItem(IDC_STATIC_STATUS); pStatic->SetWindowText((CString)_T("当前扫描状态")); m_cBtnScan.EnableWindow(); m_cBtnStop.EnableWindow(false); //填充报表视图 UINT nIndex=0; POSITION pos=m_pStatusList->GetHeadPosition(); while(pos) { DATA* pNode=(DATA*)m_pStatusList->GetNext(pos); /*/////////////////////////////////////(自己尝试的另一种输出列表,无视无视) m_cResult.InsertItem(nIndex,NULL); m_cResult.SetItemText(nIndex,0,pNode->IPAddress); m_cResult.SetItemText(nIndex,1,pNode->port);*/ AddItem(nIndex,0,pNode->IPAddress,0); AddItem(nIndex,1,pNode->port,0); if (pNode->bStatus) { //m_cResult.SetItemText(nIndex,2,"开"); //m_cResult.SetItemText(nIndex,4,"get"); AddItem(nIndex,2,_T("开"),0); AddItem(nIndex,4,_T("⊙▽⊙"),0); } else { //m_cResult.SetItemText(nIndex,2,"关"); //m_cResult.SetItemText(nIndex,4,"no way"); AddItem(nIndex,2,_T("关"),0); AddItem(nIndex,4,_T("T T"),0); } //m_cResult.SetItemText(nIndex++,3,itoa(pNode->nAttempts,temp,10)); AddItem(nIndex++,3,_itoa(pNode->nAttempts,temp,10),0); } } ``` 网上应该很多这个代码,我运行这个代码之后就出现![图片说明](https://img-ask.csdn.net/upload/201501/02/1420206303_65279.jpg) list_s.cpp文件的171行 POSITION CStringList::AddTail(const CString& newElement) { ASSERT_VALID(this); CNode* pNewNode = NewNode(m_pNodeTail, NULL); pNewNode->data = newElement; if (m_pNodeTail != NULL) m_pNodeTail->pNext = pNewNode; else m_pNodeHead = pNewNode; m_pNodeTail = pNewNode; return (POSITION) pNewNode; } ``` 研究了下应该是 //增加一列标题栏字符 void CMyscanDlg::AddHeader(LPTSTR hdr) { if(m_pColumns) m_pColumns->AddTail(hdr); } 这个函数出问题了,但是不知道怎么改,就把添加标题栏的方式换了一种。 结果窗口出来了,但是开始扫描之后就显示已停止工作_(:3」∠)_ debug检查弹出的窗口显示unhandled exception in *.exe (MFC42D.DLL):0xC0000005:Access Violation 已经不知道怎么改的我,求大神指点

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

美团面试,问了ThreadLocal原理,这个回答让我通过了

他想都想不到,ThreadLocal我烂熟于心

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问