Problem F 程序跟蹤

2021-06-28 18:26:46 字數 1209 閱讀 3463

time limit: 1 sec  

memory limit: 128 mb

submit: 45  

solved: 9 [

submit][

status][

web board]

linux程式除錯strace命令詳解

strace 命令是一種強大的工具,它能夠顯示所有由使用者空間程式發出的系統呼叫。 

strace 顯示這些呼叫的引數並返回符號形式的值。strace 從核心接收資訊,而且不需要以任何特殊的方式來構建核心。

strace 的輸出如下:

brk(0) = 0×8062aa8 

brk(0×8063000) = 0×8063000 

mmap2(null, 4096, prot_read, map_private, 3, 0×92f) = 0×40016000 

每一行都是一條系統呼叫,等號左邊是系統呼叫的函式名及其引數,右邊是該呼叫的返回值。

strace的輸出結果

將所有被呼叫過的系統呼叫名整理出來,去掉重複,按照字母排序。

brk(0) = 0×8062aa8

brk(0×8063000) = 0×8063000

mmap2(null, 4096, prot_read, map_private, 3, 0×92f) = 0×40016000

brk

mmap2

hint

明顯的結構體排序,不解釋!我們要做的就是怎麼劃取字串!

這裡我使用的是cin.getline(字元陣列的位址,接受的字元數)還有一種形式cin.getline(字元陣列的位址,接受的字元數,結束字元),遇到'\n'或者eof結束!

#include#includeusing namespace std;

struct st

s[10000];

int compare(st p,st q)

int main()

{ char s1[10000],s2[10000],c;

int i=0,j,stl,f=0,h=0,flag,l;

while(cin.getline(s1,10000))

{ // puts(s1);

memset(s2,0,sizeof(s2));

stl=strlen(s1);

flag=0;

for(i=0;i

pstack 跟蹤程序棧

此命令可顯示每個程序的棧跟蹤。pstack 命令必須由相應程序的屬主或 root 執行。可以使用 pstack 來確定程序掛起的位置。此命令允許使用的唯一選項是要檢查的程序的 pid。請參見 proc 1 手冊頁。這個命令在排查程序問題時非常有用,比如我們發現乙個服務一直處於work狀態 如假死狀態...

動態規劃 Problem F

動態規劃 problem f 題意 數塔問題,有數塔 類似於三角形數字但稍有不同 要求從頂層走到底層,若每一步只能走到相鄰的結點,求經過的結點的數字之和最大是多少。解題思路 可以採用從下往上的思路,即從最後一排的數向上遞推,這時候的狀態方程為 dp i j dp i 1 j 1 dp i 1 j 按...

動態規劃 problem f

題意 要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?可以直接用遞迴計算,將數塔看成一棵樹,用陣列實現,分別遞迴的求出每棵子樹的最大值 再進行比較,取其中每步的最大值,由底至上,逐層比較,最後的出最大和。include define size 100 int val...