我遇到了問題,我正在與Bash合作,但它在ARM64 Chroot上的Debian Sid(Unstable)上。 (我這樣做是因爲它提供Debian軟件包的維護者。否則,我從運行不穩定了,前沿的東西)...重拍正在跳過我想調試的shell命令
# echo $0
/bin/bash
這似乎是建立一個-o2
,而不是我的shell命令之一-O2
。我懷疑內存被淘汰出局,而-o2
只是一個症狀。
# make cryptlib.o
g++ -DNDEBUG -g3 -o2 -pipe -c cryptlib.cpp
這裏的Remake下相同的命令:
# remake -X -f GNUmakefile cryptlib.o
GNU Make 3.82+dbg0.9
Built for aarch64-unknown-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
...
Updating goal targets....
File `cryptlib.o' does not exist.
Must remake target `cryptlib.o'.
Invoking recipe from GNUmakefile:449 to update target `cryptlib.o'.
##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
g++ -DNDEBUG -g3 -o2 -pipe -c cryptlib.cpp
##<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
++ (/cryptopp-git/GNUmakefile:448)
cryptlib.o
remake<0>
可以看出,我很感興趣,已經通過了的東西。 Line 449非常無趣。它只是一個標準配方,使用CXX
,CXXFLAGS
和$<
。
不幸的是,我真的不明白我應該怎樣去調試這個問題。根據1.1.6 Debugging Shell Commands,有一個step
,但它並沒有真正告訴我如何使用它。當我試圖將其添加到命令:
remake -X step -f GNUmakefile cryptlib.o
它導致No rule to make target 'step'
。
如何使用Remake調試此生成文件?或者甚至沒有它?
配方本身不涉及該標誌的值。這是一個make變量。什麼是設置,這是在makefile內部的東西。你有本地的'GNUMakefile.deps'文件嗎? 'grep'是否在你的源碼目錄的任何地方找到'-g3'或'-o2'?你的環境中是否定義了「CXXFLAGS」? –
我會回答,但只是因爲「翻拍不能幫助這裏」的信息。 –