标签: debugging

破点如何运作?

在genral我知道断点的用法,但想知道它究竟是如何工作的?它如何能够中断执行代码?它如何提供可执行代码的用户界面(断点)以及它通常只允许6个断点的原因.

谢谢!

c debugging

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

'在Chrome中调试'不能用于本机的反应原因

当我在emulator64-x86中打开官方演示时,它加载成功,然后我按'F2',然后在弹出窗口中单击'在Chrome中调试',我的chrome浏览器打开' http:// localhost:8081/debugger- ui '自动',但它不会加载我的项目作为模拟器.我在控制台中收到一些警告,如下所示:

Warning: Native component for "RCTModalHostView" does not exist
Warning: Native component for "RCTTextView" does not exist
Warning: Native component for "RCTTextField" does not exist
Running application "AwesomeProject" with appParams: {"initialProps":{},"rootTag":1}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
Unknown method: undefined
Run Code Online (Sandbox Code Playgroud)

有没有人有这些问题?怎么解决?提前致谢.

debugging android react-native

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

区分大小写Common Lisp

我试图让sbcl区分大小写并没有成功.有谁知道问题可能是什么?它在这里这里提到这是可能的.

我在跑

(setf (readtable-case *readtable*) :invert)
(defun hi () "Hi!")
(HI)
(HI)
"Hi!"
Run Code Online (Sandbox Code Playgroud)

在repl里面如下.

"C:\Program Files\Steel Bank Common Lisp\1.2.15\sbcl.exe" --core "C:\Program Files\Steel Bank Common Lisp\1.2.15\sbcl.core"
Run Code Online (Sandbox Code Playgroud)

编辑:所以,如果你在Common Lisp中调用一个区分大小写的函数,它会恢复到原来对于程序的其他部分敏感的旧行为,我发现目前无法阻止这种情况.

; in: Hi2
;     (|Hi2|)
;
; caught style-warning:
;   undefined function: Hi2
;
; compilation unit finished
;   Undefined function:
;     Hi2
;   caught 1 STYLE-WARNING condition

debugger invoked on a UNDEFINED-FUNCTION in thread
#<THREAD "main thread" RUNNING {1002C77BE3}>:
  The function COMMON-LISP-USER::|Hi2| is undefined. …
Run Code Online (Sandbox Code Playgroud)

windows debugging common-lisp case-sensitive

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

有人能解释这个控制台输出吗?

当我跑进去的时候 console

console.log("1");
setTimeout(function(){console.log("2");},3000);
console.log("3");
setTimeout(function(){console.log("4");},1000);
Run Code Online (Sandbox Code Playgroud)

我明白了:

在此输入图像描述

3之前和之后用蓝色写的数字是多少4

javascript debugging

2
推荐指数
2
解决办法
58
查看次数

通过调试跟踪VB6运行时错误

我开始使用WinDbg来调试VB6运行时错误,但无法让它真正起作用,我只需要知道错误的来源(错误来自的过程).

我创建了一个小应用程序来测试并使它抛出溢出运行时错误,如下所示:

Private Sub Command1_Click()
    Dim a As Byte
    a = 1000
End Sub
Run Code Online (Sandbox Code Playgroud)

我通过选中"创建符号调试信息"选项编译它以创建PDB文件.

然后我将应用程序附加到WinDbg并单击按钮以抛出错误,但是当我检查调用堆栈时,我没有找到任何Command1_Click程序的跟踪.我得到的是以下内容:

0:001> ~* k

   0  Id: 56c.173c Suspend: 1 Teb: 7ffde000 Unfrozen
ChildEBP RetAddr  
0012ea08 7e419418 ntdll!KiFastSystemCallRet
0012ea40 7e4249c4 USER32!NtUserWaitMessage+0xc
0012ea68 7e43a956 USER32!InternalDialogBox+0xd0
0012ed28 7e43a2bc USER32!SoftModalMessageBox+0x938
0012ee78 7e43a10b USER32!MessageBoxWorker+0x2ba
0012eee4 729af829 USER32!MessageBoxIndirectA+0xb8
WARNING: Stack unwind information not available. Following frames may be wrong.
0012ef24 729af6a5 MSVBVM60!IID_IVbaHost+0x411e9
0012ef4c 729af9a0 MSVBVM60!IID_IVbaHost+0x41065
0012ef7c 729a3d68 MSVBVM60!IID_IVbaHost+0x41360
0012efe0 729a3db6 MSVBVM60!IID_IVbaHost+0x35728
0012f000 72a0c411 MSVBVM60!IID_IVbaHost+0x35776
0012f01c 72a0c6f3 MSVBVM60!_vbaOnGoCheck+0xba
0012f05c 7c9032a8 …
Run Code Online (Sandbox Code Playgroud)

vb6 debugging callstack runtime-error windbg

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

如何查看Android Studio中到底发生了什么异常?

使用Eclipse,可以在Logcat中打印出堆栈跟踪,因此我可以跟踪应用程序中发生异常的确切位置。但是,使用Android Studio时,异常会在窗口中清晰地解析,但是我找不到源代码行和文件。

我尝试探索“ stackState”(见下文),但未找到任何线索。

您应该如何找到它?

在此处输入图片说明

debugging android exception stack-trace android-studio

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

OpenGL在发布模式下呈现,但不在调试模式下呈现

现在我正在使用Visual Studio 2015编写一个基本的OpenGL包装器,我遇到了这个非常奇怪的现象,当我在调试模式下构建和运行时,我的立方体不会呈现.然而,在发布模式下,一切看起来都很完美.

值得注意的是,程序确实在调试模式下运行,它确实用我设置的绿色清除了屏幕.因此看起来OpenGL在一定程度上起作用.问题是它没有像在Release模式下那样渲染我的立方体网格物体.我已经通过调试确认我的资源(着色器和图像文件)正在调试模式下正确加载,所以这似乎不是问题.

代码方面,以下是该计划的有趣部分:

Main.cpp中:

renderer.Clear(0.2f, 0.3f, 0.3f, 1.0f);

for(GLuint i = 0; i < 10; ++i) {
    renderer.PushMatrix();
    renderer.Translate(cubePositions[i].x, cubePositions[i].y, cubePositions[i].z);
    renderer.Rotate(20.0f * i, glm::vec3(1.0f, 0.3f, 0.5f));
    renderer.Render(cube);
    renderer.PopMatrix();
}

window.SwapBuffers();
Run Code Online (Sandbox Code Playgroud)

Renderer.cpp中:

void Renderer::updateMVP() const {
    glm::mat4 _proj = camera.GetProjectionMatrix();
    glm::mat4 _view = camera.GetViewMatrix();
    glm::mat4 _model = model.top();
    glUniformMatrix4fv(glGetUniformLocation(shader.GetProgram(), "projection"), 1, GL_FALSE, glm::value_ptr(_proj));
    glUniformMatrix4fv(glGetUniformLocation(shader.GetProgram(), "view"), 1, GL_FALSE, glm::value_ptr(_view));
    glUniformMatrix4fv(glGetUniformLocation(shader.GetProgram(), "model"), 1, GL_FALSE, glm::value_ptr(_model));
}

void Renderer::Clear(GLfloat red, GLfloat green, GLfloat blue, GLfloat …
Run Code Online (Sandbox Code Playgroud)

c++ opengl debugging visual-studio-2015

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

如何为qtcreator编写调试助手?

当使用带有gdb的glm :: vec3类调试我的C ++程序时,使用这些向量类非常麻烦:
qtcreator中调试器的屏幕截图

我已经阅读了手册,可以编写调试助手。
我设法让qtcreator加载文件(如果我的python文件语法错误,调试器将立即退出并出现错误)。

如何编写简约的调试助手?

我已经尝试过的:

这是C ++代码

#include <glm/glm.hpp>

class Foo
{
};

int main(int, char**)
{
  glm::vec3 vec3(42, 64, 256);
  Foo foo;

  (void)vec3;
  (void)foo;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的调试助手:

from dumper import *

def qdump__glm__vec3(d, value):
    d.put("Yay, vec3 works :)")

def qdump__Foo(d, value):
    d.put("Yay, Foo works :)")
Run Code Online (Sandbox Code Playgroud)

vec3代码似乎没有任何可见的效果。对于foo来说,它似乎可以做些什么,但是Yay, Foo works :)qtcreator只是显示而不是打印<not accessible>。请参见以下屏幕截图:

到目前为止我的进步

c++ debugging gdb qt-creator glm-math

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

在PHP命令行上显示完整堆栈跟踪

问题

我的PHP Stack Trace缩写为:

Stack trace:
#0 /www/html/table/app/create.php(128): SoapClient->__call('call', Array)
#1 /www/html/table/app/create.php(128): SoapClient->call('5e81ad4c12668ec...', 'table.ad...', Array)
Run Code Online (Sandbox Code Playgroud)

预期结果

我想从命令行运行php时看到被...隐藏的部分.如何让php显示完整的消息?

php debugging php-5.3

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

无法在Android Studio中调试onPostExecute

我试图在Android Studio中调试AsyncTask,但调试器不允许我进入该onPostExecute()方法,我不知道为什么.我确信它正在执行,因为我放了一个显示的Toast,但是我想在那里进行调试,但由于某种原因我不能.这是为什么会这样的原因?

private class LoadObject extends AsyncTask<Void, Void, Void> {

    private ProgressDialog dialog;
    private Context context;
    String postAddress;


    public LoadObject(Context context) {
        this.context = context;
        dialog = new ProgressDialog(context);
    }

    @Override
    protected void onPreExecute() {
        dialog.setMessage("Loading...");
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();
    }

    @Override
    protected void onPostExecute(Void result) {
        Toast.makeText(context, "OnPostExecute", Toast.LENGTH_SHORT).show();

        functionToExecute();

        if(dialog!=null && dialog.isShowing()){
            dialog.dismiss();
        }

        bLoaded = true;
    }

    @Override
    protected Void doInBackground(Void... params) {
        try {
            postApi.postAPI(postAddress);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

debugging android android-asynctask android-studio

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