小编Chr*_*ley的帖子

"find:paths必须在表达式之前:"如何指定也在当前目录中查找文件的递归搜索?

我很难找到在当前目录及其子目录中查找匹配项.

当我运行find *test.c它时,只给我当前目录中的匹配项.(不查看子目录)

如果我尝试find . -name *test.c我会期望相同的结果,但它只给我在子目录中的匹配.当有工作目录中应该匹配的文件时,它会给我:find: paths must precede expression: mytest.c

这个错误是什么意思,我如何从当前目录及其子目录获取匹配?

linux bash find

225
推荐指数
5
解决办法
19万
查看次数

Windows中CMake的默认生成器是什么?

在一台PC上运行CMake时,CMake默认生成NMake文件.另一方面,它生成一个Visual Studio项目.

我知道我可以通过添加-G "NMake Makefiles"到我的CMake语句的末尾来覆盖默认值,但我想知道为什么它默认为一个上的Visual Studio项目和另一个上的NMake文件.

c nmake generator cmake visual-studio

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

在WinDBG中手动设置断点

我正在尝试使用WinDBG检查程序集的可执行文件,但我很难找到它.我想在我的程序中的第一条指令处设置一个断点,但是当我尝试手动执行(使用模块的地址)时,WinDBG告诉我"由于","无法在该位置插入断点"对内存位置的访问无效."

我注意到当我通过源代码GUI创建一个断点时,地址与我模块的第一部分不同(在我的例子中:"Win32FileOpen",我编写的一个简单程序.)是否有某种类型的标题这需要在我的模块地址上添加一个偏移量?

在另一个 问题中,我看到了这样的建议:"我会尝试将断点地址计算为:模块启动+代码启动+代码偏移",但不确定从何处获取这些值.有人可以详细说明一下吗?

我不仅仅使用源GUI的原因是我希望能够使用我可能没有源/符号的程序来执行此操作.

如果有一种更简单的方法可以立即开始使用我打开的可执行文件,请告诉我.(例如,打开一个.exe Olly会立即向我显示该.exe的程序集,搜索引用的字符串会给我该模块的结果等等.WinDBG似乎在ntdll.dll中启动我,这对我来说通常没用.)

0:000> lm
start             end                 module name
00000000`00130000 00000000`0014b000   Win32FileOpen C (private pdb symbols)  C:\cfinley\code\Win32FileOpen\Debug\Win32FileOpen.pdb
00000000`73bd0000 00000000`73c2c000   wow64win   (deferred)            
00000000`73c30000 00000000`73c6f000   wow64      (deferred)            
00000000`74fe0000 00000000`74fe8000   wow64cpu   (deferred)            
00000000`77750000 00000000`778f9000   ntdll      (pdb symbols)          c:\symbols\mssymbols\ntdll.pdb\15EB43E23B12409C84E3CC7635BAF5A32\ntdll.pdb
00000000`77930000 00000000`77ab0000   ntdll32    (deferred)            
0:000> bu 00000000`00130000
0:000> bl
 0 e x86 00000000`001413a0     0001 (0001)  0:**** Win32FileOpen!main              <-- One that is generated via GUI
 1 e x86 00000000`00130000     0001 (0001)  0:**** Win32FileOpen!__ImageBase       <-- One I tried to set manually
0:000> …
Run Code Online (Sandbox Code Playgroud)

windbg breakpoints ollydbg

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

为什么在WEB-INF/lib中更改jar文件的目录顺序会导致Tomcat 8中出现NoClassDefFoundError?

我们有一个我们在Tomcat 8中运行的Web应用程序,最近我们观察到我们团队中的一些开发人员构建的工件(.war文件)抛出了一个NoClassDefFoundError,而其他人构建的相同代码按预期运行.

来自logs/localhost.2018-05-11.log:

org.jboss.resteasy.spi.UnhandledException: java.lang.NoClassDefFoundError: Could not initialize class org.geotools.referencing.datum.DefaultEllipsoid
    ...
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.geotools.referencing.datum.DefaultEllipsoid
    at org.geotools.referencing.GeodeticCalculator.<init>(GeodeticCalculator.java:277)
    ...
Run Code Online (Sandbox Code Playgroud)

这有时(但不总是)伴随(前面):

org.jboss.resteasy.spi.UnhandledException: java.lang.IncompatibleClassChangeError: Implementing class
    ...
Run Code Online (Sandbox Code Playgroud)

检查war文件,工作和损坏的工件的内容看起来是相同的,有一个值得注意的例外,jar文件的"目录排序" WEB-INF/lib是不同的.

在爆炸的war文件上执行以下过程并重新启动Tomcat似乎消除了异常:

$ # jars in "bad" order
$ ls -U WEB-INF/lib
x.jar
b.jar
y.jar
a.jar
c.jar
z.jar
$ cp -p WEB-INF/lib/* /tmp/lib/
$ rm -r WEB-INF/lib
$ mv /tmp/lib WEB-INF/lib
$ # jars in "good" order (appears to be alphabetical after a 'cp' on my …
Run Code Online (Sandbox Code Playgroud)

java tomcat maven tomcat8 centos7

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

在WinDbg中编辑程序集

我一直试图使用WinDbg 来解决一些"破解"(来自http://crackmes.de).我所看到的大部分解决方案都涉及使用Olly Dbg对装配进行修改; 有没有办法在WinDbg中做到这一点?

assembly cracking windbg ollydbg

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

如何强制 Maven 使用 maven-resources-plugin 版本 2.6?

当我运行时,我看到控制台上打印了$mvn -q clean install一堆语句。[debug] execute contextualize

经过一番搜索,我确定这是 Maven Resources Plugin 2.5 版本的问题。这个问题已经在2.6版本中修复了,但是我不知道如何让我的项目使用它。(http://jira.codehaus.org/browse/MRESOURCES-140

我的项目都没有在它们的 poms 中列出这个插件,所以我不确定 Maven 从哪里获取它,也许它被用在其他 Apache 依赖项之一或其他东西中?(我什至不明白这个插件是做什么的或者Maven中的插件一般是如何使用的)

我尝试将以下内容添加到我的根 pom 中:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并不能解决问题。我仍然看到[debug] execute contextualize输出,当我运行时$mvn help:effective-pom,输出仍然显示:

  <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
      <execution>
        <id>default-resources</id>
        <phase>process-resources</phase>
        <goals>
          <goal>resources</goal>
        </goals>
      </execution>
      <execution>
        <id>default-testResources</id>
        <phase>process-test-resources</phase>
        <goals>
          <goal>testResources</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

我怎样才能强制 Maven 使用这个插件的新版本,以便我可以抑制恼人的[debug] execute contextualize输出?

plugins version maven

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

将ULARGE_INTEGER打印到控制台

我想打印GetDiskFreeSpaceEx(...)设置的根卷的大小,但它给我的值是ULARGE_INTEGER.以十进制数字打印到控制台的最佳方法是什么?我使用的是普通的C和Windows API函数.

c windows winapi types

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