小编Tho*_*ler的帖子

从崩溃转储中确定Eclipse的版本

我有一个Eclipse的崩溃转储,想报告一个错误.对于错误报告,我想指定崩溃的Eclipse版本,因为它可能与问题有关.

不幸的是,我通常的方式不起作用,lm vm不显示版本信息:

0:048> lm vm eclipse
start             end                 module name
00000000`00400000 00000000`0044f000   eclipse    (deferred)             
    Image path: C:\Program Files\eclipse\eclipse.exe
    Image name: eclipse.exe
    Timestamp:        Wed Feb 04 14:12:28 2015 (54D21ABC)
    CheckSum:         00050686
    ImageSize:        0004F000
    File version:     0.0.0.0
    Product version:  0.0.0.0
    File flags:       0 (Mask 0)
    File OS:          0 Unknown Base
    File type:        0.0 Unknown
    File date:        00000000.00000000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
Run Code Online (Sandbox Code Playgroud)

时间戳与Eclipse的发布日期并不完全相关,所以我想知道这是官方发布还是每晚构建.

是否有另一种方法可以确定转储中Eclipse的版本号?

java eclipse debugging windbg crash-dumps

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

通过调试跟踪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
查看次数

第三方.NET模块未在“ lm”命令的输出中列出

我创建了一个示例.net应用程序,该应用程序使用log4net编写日志。它仅用于测试log4net库。

但是,当我通过Windows任务管理器创建故障转储文件,然后使用WinDbg打开它时,输入命令“ lm”后找不到模块“ log4net”。

为什么命令“ lm”没有列出dll“ log4net.dll”?

这是WinDbg的输出:

0:009> lmf
start             end                 module name
00000000`003e0000 00000000`003e8000   test_log4net C:\wangzhengzhang\Demo\demo\test_csharp\test_log4net\bin\Debug\test_log4net.exe
00007fff`1a260000 00007fff`1b748000   mscorlib_ni C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\mscorlib\e96b4590c579d08edc2e60cc3e5ae997\mscorlib.ni.dll
00007fff`1b750000 00007fff`1c136000   clr      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
00007fff`1c380000 00007fff`1c48e000   clrjit   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clrjit.dll
00007fff`1c490000 00007fff`1c587000   MSVCR120_CLR0400 C:\WINDOWS\SYSTEM32\MSVCR120_CLR0400.dll
00007fff`1c590000 00007fff`1c62d000   mscoreei C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll
00007fff`1c630000 00007fff`1c696000   MSCOREE  C:\WINDOWS\SYSTEM32\MSCOREE.DLL
00007fff`2e590000 00007fff`2e59a000   VERSION  C:\WINDOWS\SYSTEM32\VERSION.dll
00007fff`30cc0000 00007fff`30cf3000   rsaenh   C:\WINDOWS\system32\rsaenh.dll
00007fff`30db0000 00007fff`30dc7000   CRYPTSP  C:\WINDOWS\SYSTEM32\CRYPTSP.dll
00007fff`30dd0000 00007fff`30ddb000   CRYPTBASE C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
00007fff`31280000 00007fff`312ab000   bcrypt   C:\WINDOWS\SYSTEM32\bcrypt.dll
00007fff`31340000 00007fff`3134f000   kernel_appcore C:\WINDOWS\System32\kernel.appcore.dll
00007fff`313d0000 00007fff`3146c000   msvcp_win C:\WINDOWS\System32\msvcp_win.dll
00007fff`31470000 00007fff`31565000   ucrtbase C:\WINDOWS\System32\ucrtbase.dll
00007fff`317f0000 00007fff`3180e000   win32u   C:\WINDOWS\System32\win32u.dll
00007fff`318c0000 00007fff`31a42000 …
Run Code Online (Sandbox Code Playgroud)

windbg

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

检查您的配置文件“flutter_launcher_icons.yaml”是否有“flutter_icons”部分

在此输入图像描述

任何人都可以解决这个问题我正在运行 flutter pub run flutter_launcher_icons:main 但它对我不起作用

dart flutter flutter-dependencies

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

WinDbg:dd <address> L <length> 的范围限制

WinDbg 对 d 命令系列应用了范围限制。根据文档,限制为 256 MB。可以使用 L? 句法。

L? Size(带问号)的意思与 LSize 相同,只是 L? 大小删除调试器的自动范围限制。通常,范围限制为 256 MB,因为较大的范围是印刷错误。如果要指定大于 256 MB 的范围,则必须使用 L? 大小语法。

但是,我尝试做一个 du 3ddabac0+8 L 0n6518040 只有 6.5 MB 的文件,它说 Range error in 'du 3ddabac0+8 l 0n6518040.

windbg

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

获取非法指令异常的最简单方法

我正在尝试创建一个程序,为演示目的生成非法指令异常.

我的问题似乎有一个简单的解决方案:

cmpxchgl %edx, %ecx
Run Code Online (Sandbox Code Playgroud)

但是编译器(FASM)不想在运行时给我一个异常,而是不想编译代码.它说"非法指令"(这可能是正确的,实际上很高兴警告我).

获取非法指令异常的任何解决方案对我来说都没问题,所以你可以

a)指向另一个简单编译代码的编译器

b)为我的命令应用解决方法

c)提出完全不同的命令(应该简单,首选oneliners)

x86 assembly x86-64

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

如何在屏幕上编写调试信息?

我正在写一个不像我预期的那样工作的测试.

我需要使用一些抓取器,然后在测试运行时转储到屏幕上.

我怎么能这样做?如何回声,而不是用户如何抓取; 我可以使用抓取器,但我不知道如何在测试运行时回声.

codeception

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

如何在工作簿中查找所有命名范围

这是我目前使用的一些代码:

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
excelApp.Workbooks.Open(path);
// Make the object visible.
excelApp.Visible = true;
Run Code Online (Sandbox Code Playgroud)

我知道工作簿打开了。

我正在使用 Visual Studio 2013。

c# excel office-interop

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

禁用 JUnit 3 类的导入

我只想开发 JUnit 4 测试。在编写单元测试时,Eclipse 经常从junit.frameworkJUnit 3 中导入类。

这导致了各种问题,例如,当期望异常时,如果它在错误的包中,它就不会捕获它,如下所示:

import static org.junit.Assert.*;
import junit.framework.ComparisonFailure;
[...]
try 
{
     assertEquals(0, 1);
}
catch(ComparisonFailure cfe)
{
}
Run Code Online (Sandbox Code Playgroud)

很奇怪,如果我Ctrl+ Clickon ComparisonFailure,它说

未找到来源

此类的 JAR 属于容器“JUnit 4”[...]

也许有用的环境信息:

  • 我的构建路径中没有 JUnit 3。
  • 月蚀月神 4.4.1

如何阻止 Eclipse 导入 JUnit 3 类?

我已经阅读了当我的构建路径中有 junit-4.3.1.jar 时,为什么 Eclipse 使用 JUnit 3?,但它已经很老了,可能不再适用于 Luna。另外,我的问题不在于运行测试,而在于实施测试。

eclipse configuration junit4 junit3

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

&& 是限定符吗?

我知道这一点const,并且volatile在 C++ 规范中被称为“cv 限定符”,例如[basic.type.qualifier]

现在我有这段代码(godbolt)无法编译。

#include <string>
class Dummy
{
    std::string member{"test"};

    public:
    std::string const && foo() &&
    { return std::move(member); }
};

int main()
{
    Dummy d;
    std::string s = d.foo();
}
Run Code Online (Sandbox Code Playgroud)

它无法编译,因为w它是一个 LValue 并且foo()仅针对 RValue 存在。这很好,也是意料之中的。

但让我们看一下错误消息:

<source>: In function 'int main()':
<source>:14:26: error: passing 'Dummy' as 'this' argument discards qualifiers [-fpermissive]
   14 |     std::string s = d.foo();
      |                     ~~~~~^~
<source>:7:26: note:   in call to 'const …
Run Code Online (Sandbox Code Playgroud)

c++

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