标签: stack-overflow

ansi c意外行为的问题?

我正遭受意外的行为; 这是问题定义:

我有应用程序通过UDP协议在LAN上进行通信.我正在从文本文件中读取IP地址和端口号.最初IP地址和端口号工作正常,但是一段时间后,存储在char数组中的IP地址已损坏,并且需要垃圾值.此外,文件写入也受此影响.我的意思是IP数组中的值也写在由同一个应用程序编写的文本文件中.我无法理解这是什么问题 - 你能帮忙吗?

c stack-overflow buffer-overflow

-1
推荐指数
2
解决办法
144
查看次数

为什么此代码在按钮内部工作,而不是在单个过程中?

我正在将原生WiFi API的WinAPI翻译成delphi,我在一个按钮内写了一个rotine进行测试,并且它有效.但是不能在程序中工作,我无法弄清楚为什么因为我只是复制和粘贴.

这个确切的代码是工作

procedure TForm1.Button1Click(Sender: TObject);
var
nVersion:DWORD;
clientHandle:HWND;
return:DWORD;
size:DWORD;
pdata:pWLAN_HOSTED_NETWORK_CONNECTION_SETTINGS;
vtype:pWLAN_OPCODE_VALUE_TYPE;
pfail:PWLAN_HOSTED_NETWORK_REASON;
ssid:array[0..DOT11_SSID_MAX_LENGTH] of UCHAR;
name:String;
begin
    return:=WlanOpenHandle(2,nil,@nVersion,@clientHandle);
    return:=WlanHostedNetworkQueryProperty(clientHandle,wlan_hosted_network_opcode_connection_settings,@size,@pdata,@vtype,nil);
    if return<>ERROR_SUCCESS then ShowMessage('Returned ERROR '+ IntToStr(return));

  name:=Edit1.Text;
    StrCopy(@pdata.hostedNetworkSSID.ucSSID, @name[1]);
    pdata.hostedNetworkSSID.uSSIDLength:=Length(name);

    return:=WlanOpenHandle(2,nil,@nVersion,@clientHandle);
    return:=WlanHostedNetworkSetProperty(clientHandle,wlan_hosted_network_opcode_connection_settings,size,pdata,@pfail,nil);
    if return<>ERROR_SUCCESS then ShowMessage('Returned ERROR '+ IntToStr(return));
end;
Run Code Online (Sandbox Code Playgroud)

但如果将此代码放在另一个程序中以使代码清理并在按钮内调用该函数,则它不起作用!

procedure setSSID(text:String);
var
nVersion:DWORD;
clientHandle:HWND;
return:DWORD;
size:DWORD;
pdata:pWLAN_HOSTED_NETWORK_CONNECTION_SETTINGS;
vtype:pWLAN_OPCODE_VALUE_TYPE;
pfail:PWLAN_HOSTED_NETWORK_REASON;
ssid:array[0..DOT11_SSID_MAX_LENGTH] of UCHAR;
name:String;
begin
    return:=WlanOpenHandle(2,nil,@nVersion,@clientHandle);
    return:=WlanHostedNetworkQueryProperty(clientHandle,wlan_hosted_network_opcode_connection_settings,@size,@pdata,@vtype,nil);
    if return<>ERROR_SUCCESS then ShowMessage('Returned ERROR' + IntToStr(return)); <<<<<< RETURNING ERROR 1734

  name:=text;
    StrCopy(@pdata.hostedNetworkSSID.ucSSID, @name[1]);
    pdata.hostedNetworkSSID.uSSIDLength:=Length(name);

    return:=WlanOpenHandle(2,nil,@nVersion,@clientHandle);
    return:=WlanHostedNetworkSetProperty(clientHandle,wlan_hosted_network_opcode_connection_settings,size,pdata,@pfail,nil);
    if return<>ERROR_SUCCESS then …
Run Code Online (Sandbox Code Playgroud)

stack-overflow delphi winapi pointers access-violation

-1
推荐指数
1
解决办法
561
查看次数

使用静态方法防止Stackoverflow异常

我正在编写一个类,它递归地实例化自己,以便将XSD解析为另一种类型的XSD.它从互联网上下载并遍历每个元素,如果其中一个元素complexType位于另一个元素中,URI那么它只是通过创建自身实例之一来做同样的事情.

但是当XSD如此庞大且有许多外部链接时,今天我的课程因为Stackoverflow异常而崩溃了.

我决定将一些实例方法Helper.cs作为静态成员放到另一个class()中,现在从解析器类中调用它们.

但我想知道这是一个很好的解决方案,可以解决Stackoverflow异常吗?我知道如何将实例方法放入堆栈框架中,但静态方法是否会以相同的方式处理?它会导致任何Stackoverflow异常吗?

c# stack-overflow

-1
推荐指数
1
解决办法
166
查看次数

如何避免Python中的线程中的Stack Overflow错误

作为一个本地Java开发人员,我认为我已经达到了我习惯的情况.

我正在使用PyDev开发一个多线程Python 2.7应用程序,并在Windows 7 64位上运行Eclipse.它是多线程的,因为它使用wxPython,因此它使用GUI主线程和繁重的提升线程(以及我或我的有一些繁重的工作),每个回调一个线程.

我已达到一个点,我用appcrash消息得到一个弹出0xc00000fd错误python27.dll.这是因为线程中的函数返回值.如果我减少了回调正在使用的数据量,那么这段代码工作正常,所以我很确定堆栈上有太多的东西,并且没有任何递归变坏.

我可以stack_size在创建之前调用线程以增加可用空间,如果我想弄出多少空间可以满足它,这可能会有效.该线程将不得不做更多而不是更少的工作,所以这似乎是一个创可贴的情况.

我以为Python使用堆内存创建了堆栈,所以这在Python中应该不是问题?它是我的许多第三方apis之一,真正的罪犯?那么如果没有我在C中可以获得的低级内存创建决策能力,我如何从堆栈中获得一些内存并进入堆内存?

python stack-overflow multithreading

-1
推荐指数
1
解决办法
1402
查看次数

32位java上的StackOverflowException - 不是64位

I have written a desktop application which is JavaFX based, developed on NetBeans 7.4. I'm using Glassfish to pool jdbc connections and JMS traffic. Development is on a Win 7 64bit system, using 64bit java 1.7_51. One of my users has a 32bit win 7 machine, and the application refuses to run correctly on his machine. There are actually 2 glassfish servers, each providing data connectivity from a different logical company. All of the server code on the two glassfish …

java stack-overflow serialization jvm 32bit-64bit

-1
推荐指数
1
解决办法
581
查看次数

我得到一个递归调用相同错误的StackOverflowError

我不确定我的程序有什么问题.基本上我只想做一个班级的对象.然后该对象应在其构造函数中创建另一个对象.但是当我从第一个对象的构造函数内部创建对象时,我得到错误:

"GameController中的安装程序.(Setup.java:31)中的线程"main"java.lang.StackOverflowError中的异常.(GameController.java:30)"

错误的这一部分重复,直到我的运行时'错误'框已满:

"在GameController的Setup.(Setup.java:31)
.(GameController.java:30)"

这是我的代码:(在main中创建的对象)

public class GameController {
GameController() {   
Setup Set = new Setup(); //Refers to error happening here.
Run Code Online (Sandbox Code Playgroud)

(设置对象类)

public class Setup extends GameController {
Setup() { //Refers to error happening here.
Run Code Online (Sandbox Code Playgroud)

我不介意不同地做我的代码,但我想知道我做错了什么,所以我可以在将来做到这一点.

java stack-overflow oop compiler-errors

-1
推荐指数
1
解决办法
64
查看次数

如何修复java.lang.StackoverflowError

我不确定这段代码的问题是什么,但每当我运行它时,我得到一个java.lang.StackOverflowError.我该如何解决?这是netbeans的输出控制台中显示的内容:

run:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
    at sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:222)  at sun.awt.Win32GraphicsConfig.getBounds(Win32GraphicsConfig.java:222)
    at java.awt.Window.init(Window.java:497)
    at java.awt.Window.<init>(Window.java:536)
    at java.awt.Frame.<init>(Frame.java:420)
    at java.awt.Frame.<init>(Frame.java:385)
    at javax.swing.JFrame.<init>(JFrame.java:180)
Run Code Online (Sandbox Code Playgroud)

import java.awt.Color;
import java.awt.Font;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow user-interface

-1
推荐指数
1
解决办法
2873
查看次数

stack = java.lang.StackOverflowError:堆栈大小为8MB

我得到这个StackOverFlow错误,我完全理解它,但问题是我不处理大数据,那么如何产生这个错误呢?

我有一个活动,Framelayout,一个片段,3个选项.

在片段中,当你单击其中一个选项时,它会重新创建片段并放置随机数,MAX是15,所以它不是那么大,当用户点击这么快的选项导致这个溢出时会发生这个错误.

这是生成的代码,有关"增强"它的任何想法吗?我不知道这个代码对于momery使用是否是一种不好的做法.

private static List<Integer> SavedNumbers;

public static void SetupSavedNumbersLIst(){
    SavedNumbers = new ArrayList<>();
}


static List<Integer> range;
private static void AddDiff(int mMAX){
    range = new ArrayList<>();
    for(int i = 0 ; i < mMAX ; i++){
        range.add(i);
    }

    range.removeAll(SavedNumbers);
}

private static int ReturnIfDuplic(int mMAX){
    AddDiff(mMAX);
    return new Random().nextInt(range.size());
}


public static int ReturnUniqueSavedNumber(int mMAX){
    int Random = ReturnRandom(mMAX);
    if(SavedNumbers != null && SavedNumbers.size() > 0) {
        if(DoesSavedNumberExist(Random)){
            return ReturnIfDuplic(mMAX);
        } else {
            SavedNumbers.add(Random);
            return …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow android android-fragments

-1
推荐指数
1
解决办法
7994
查看次数

为什么在代码下运行时会出现stackoverflow错误?

你能否告诉我为什么下面的代码抛出堆栈溢出错误?

 class Program
    {
        static void Main()
        {
            Program.Main();
        }
    }
Run Code Online (Sandbox Code Playgroud)

为什么调用Main()方法会导致填充堆栈内存并最终导致堆栈溢出错误?当我像这样运行无限循环时,这种情况永远不会发生

class Program
    {
        static void Main()
        {
            // Program.Main();
            bool abcd = true;
            while (abcd)
                Console.WriteLine("Running");
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果这与某个类的静态成员的内存管理或与之相关的内容有关,请告诉我.我在互联网上寻找答案但找不到合适的答案.

.net c# stack-overflow static

-1
推荐指数
1
解决办法
168
查看次数

在lisp中的第一次搜索下进行前向链接

我试图找到问题,在堆栈溢出流量问题上alogrithm是明确的但它和递归调用是在一个if satetment所以我无法弄清楚为什么它会变坏

(defparameter BF '(B C) )
(defparameter BR '((R1(B D E) F )(R2( D G) A )(R3(C F) A )(R4(C) D)
                     (R5(D ) E )(R6(A) H ) (R7(B ) X) (R8(X C) A ) ))
(defun chain_av (BF BR F)
(loop 
    (unless (member F BF)
      (dolist (R  BR)
        (when (actionable  R BF)
          (remove R BR)
          (append BF (conclusion-part R)))
      (if (member F BF) (return "yes")
        (or(chain_av BF BR F) (return nil)))))))


(defun conclusion-part( r)
(caddr r)
)
(write (chain_av …
Run Code Online (Sandbox Code Playgroud)

lisp stack-overflow common-lisp

-1
推荐指数
1
解决办法
143
查看次数