C代码文件崩溃,编译时没有错误

时间:2018-07-19 23:32:35

标签: c crash

我在我的代码上做的所有事情都正确,但是仍然存在一个我不知道为什么的问题

public User(){
    public String country;
    public String email;
    public String fullName;
    public String username;
}


userChild.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        User user = dataSnapshot.getValue(User.class));
        String username = user.username;
        Log.v(TAG, "username: " + username);

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

1 个答案:

答案 0 :(得分:3)

如果将此代码粘贴到https://www.onlinegdb.com/上,然后单击“调试”,然后在gdb窗口中键入run,它将带您到产生错误的行。 (您可以单击“调试”按钮附近的“帮助”按钮,以获取有关如何进一步使用此工具的说明。或者,您也可以通过Google“ gdb调试”或“ Visual Studio调试”获取进一步的帮助。)

错误出在您的scanf行上。如果您使用Google“ scanf”,您可能会注意到int参数将address of传递给int。因此,您需要&x,而不是x。您的程序也有其他错误。我建议您对调试器使用上面提到的帮助按钮,逐步执行程序,并观察发生的情况。例如,您会发现在解决第一个问题后程序立即退出。我想您会想要一个循环来防止这种情况。此外,在您的弹出窗口中,您正在专门检查是否top==null,然后将其取消引用(top->data)。保证这是非法的。您可以通过运行调试器,选择弹出窗口,然后在程序中尝试访问的值(在调试器中)(在gdb窗口中{print top->data)进行打印,来检查这一点