标签: debugging

在某些情况下"消失"的调试功能

假设我有一个如下定义的调试函数:

namespace debug {
    void report(std::string message);
}
Run Code Online (Sandbox Code Playgroud)

我可以提取一些编译器技巧,在编译时,用a安全地替换每个调用nop.我不想调用一个空函数,我想不要调用该函数.

如果可能的话......我也可以使命名空间"消失"吗?

调试可执行文件将使用DEBUGEXECUTABLE定义的符号进行编译(我可以想象一些带有宏的技巧).

c++ debugging c++11

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

在Eclipse中挂起VM断点后如何恢复所有线程?

默认情况下,Eclipse断点仅挂起一个线程。当我考虑断点时,这将导致应用程序继续运行。

这是断点的另一种模式-挂起整个VM。这将停止所有线程,但显然我无法恢复执行或恢复时执行行为有所不同。

是否可以在Eclipse中对断点进行正常的挂起?

更新

绝对不是我的问题,而是Eclipse / JVM /其他人为错误。我做了一个简单的示例,没有任何线程交互:

package tests;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Try_EclipseMultithreadedBreakpoint {

    private static final Logger log = LoggerFactory.getLogger(Try_EclipseMultithreadedBreakpoint.class);

    public static class Thread1 extends Thread {

        public Thread1() {
            setName("Thread1");
        }

        @Override
        public void run() {
            for(int i=0; i<10; ++i) {
                log.info("tick {}", i);
                try {
                    Thread.sleep(1500);
                } catch (InterruptedException e) {
                }
            }
        }
    }

    public static class Thread2 extends Thread {

        public Thread2() {
            setName("Thread2");
        }

        @Override
        public void run() {
            for(int …
Run Code Online (Sandbox Code Playgroud)

java eclipse debugging jvm

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

调试客户端时使用Chrome/Firefox

我正在使用带有getUserMedia的相机,我得到了一些我想修复的错误.事情是Visual Studio只允许我用IE调试JavaScript(我的意思是命中断点),IE不支持getUserMedia.

javascript browser debugging visual-studio-2013

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

为什么这个输出看起来不确定?(它是sprintf,printf还是十六进制文字的语法?)

TL;博士

为什么每次运行此代码时都会得到不同的输出(Ideone):

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {

    const char* _user = "FOO";
    const char* _password = "BAR";

    char login[21];
    sprintf(login,
        "\x15\x00\x01%-8s%-10s",
        _user,
        _password);

    for (int i = 0; i < 21; i++) {
        printf(" %02x", login[i] & 0xff);
    }

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

但不是这个代码(Ideone):

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {

    const char* _user = "FOO";
    const char* _password = "BAR";
    const char* _session = "ABCDEFGHIJ";
    int _expectedSeq = …
Run Code Online (Sandbox Code Playgroud)

c++ debugging printf hex

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

尽管-g标志和-track-originins =是,但Valgrind没有显示行号

我在这里读到了一个类似的问题: Valgrind尽管没有-g标志显示行号(在Ubuntu 11.10/VirtualBox上)

但是,解决方案并没有解决我的问题.请参阅下面的valgrind输出.它没有告诉我主函数中的行号.

我的软件版本:gcc版本4.8.2(Ubuntu 4.8.2-19ubuntu1)Valgrind-3.10.0.SVN

这是源代码:

#include<stdio.h>

/* warining: this program is wrong on purpose. */
int main(){
  int age = 10;
  int height;

  printf("I am %d years old.\n");
  printf("I am %d inches tall.\n", height);

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

Makefile文件:

CFLAGS = -Wall -g -static
src = ex4.c

all: $(src)
  cc -o ex4 $(src)

clean:
  rm -f ex4
Run Code Online (Sandbox Code Playgroud)

Valgrind命令:

$valgrind --track-origins=yes ./ex4
Run Code Online (Sandbox Code Playgroud)

Valgrind输出:

==10268== Memcheck, a memory error detector
==10268== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et …
Run Code Online (Sandbox Code Playgroud)

c debugging valgrind

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

是否有一个标志我可以检查我的代码,看看PyCharm的调试器是否正在运行?

我想在我的代码中采取一些操作,取决于PyCharm调试器是否已连接并运行 - 例如,我使用IDE的"Debug"命令启动了我的代码; 就像是

if pycharm_debugger_is_running:
    do_something()
else:
    do_another_thing()
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

debugging pycharm

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

无法在Rubymine中启动调试器.在项目中找不到Rails服务器启动器

我试图使用rubymine IDE版本7.0.2调试rails应用程序(4.03),但是当我像这样配置我的应用程序时 在此输入图像描述

IDE抱怨在项目中找不到Rails Server启动程序.

请告诉我我该怎么做才能解决这个问题,请你推荐一些调试rails应用程序的方法.

请注意,使用Ruby Mine可以通过以下步骤轻松复制此错误.

  1. 使用Ruby Mine创建一个新的rails项目,例如DebuggingRails.这将生成默认文件夹和文件.此时,可以正常调试应用程序.

  2. 创建一个新文件夹让我们说服务器.

  3. 将上面生成的所有文件复制到Server文件夹,因此项目结构将是DebuggingRails\Server.

  4. 创建一个调试配置,指向DebuggingRails\Server.

  5. 尝试使用IDE调试应用程序.

  6. 出现"在项目中找不到Rails服务器启动器"消息

谢谢.

ruby debugging ruby-on-rails rubymine-7

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

Eclipse RCP如何调试目标平台?

问题

我在我的RCP目标平台中包含了很多第三方插件.其中大多数都是以jar文件的形式提供的.现在我想做一些基本的任务,这些任务在我自己的代码上很容易,但在目标平台上似乎是不可能的:

  • 看到附带的插件
  • 看哪些文件和类包含在哪个插件或jar中
  • 打开文件和类定义
  • 导航到方法和类定义
  • 寻找字符串
  • 设置断点

部分解决方案

一旦插件作为库/插件依赖项包含在我自己的一个插件中,我就可以通过普通库正确浏览插件.搜索仍然有问题,但至少我可以看到内容.

如果我自己的插件中没有包含这些基本任务,如何在目标平台插件上执行这些基本任务?我如何搜索包含的插件?

eclipse debugging rcp eclipse-plugin eclipse-rcp

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

Netbeans C++中的调试无法启动 - OSX Yosemite -

我无法为C++ osx Yosemite进行调试(我尝试了不同的IDE,每个都有问题),我在google install gdb上看到了brew ......但没有.使用NetBeans,启动调试,并在控制台输出中获取shell gdb:

GNU gdb (GDB) 7.8.1
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. Type "show copying"
and "show warranty" for details.
--- Type <return> to continue, or q <return> to quit ---
This GDB was configured as "x86_64-apple-darwin14.0.0".
Type "show configuration" for configuration …
Run Code Online (Sandbox Code Playgroud)

c++ debugging macos gdb netbeans

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

在Chrome中调试TypeScript,404响应

我正在将我的.TS编译为JavaScript并生成源映射.但是,我无法调试实际文件.我有一个X数量的.TS文件,它们编译成CombinedTypescript.js,并且源地图是正确的.

但是,当我尝试在Chrome调试器中访问我的.TS文件时,它只给了我404响应.这些文件存在于"源"中,但我无法访问它们或在CombinedTypescript.js中设置断点并逐步执行我的文件.

有谁知道问题可能是什么?

javascript debugging google-chrome typescript

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