프로그래밍 QnA

noradiance의 이미지

컴파일된 binary 코드에서 특정 function의 시작위치를 찾아낼

하고자 하는 일이

기 컴파일된 application의 binary에서 read() system call이 불리는 위치를 알고자 하는 것인데요.

혹시 어떤 방법으로 알 수 있을지를 여쭈어 봅니다.
위치라는 것은 PC값이 되겠구요.

코드의 패턴을 매칭시켜서 알아내야 할런지, 아니면 다른 방법이 있는지 도움 부탁드립니다.

그리고 너무 많은걸 바라는건지는 모르겠지만
관련 코드나 레퍼런스 할 수 있는 문서가 있으면 함께 부탁드립니다.

arachimajor의 이미지

double-quote??

jsp 파일을 컴파일 시키니깐
String literal is not properly closed by a double-quote
이런 에러가 계속 뜨네요;;
에러가 나는 라인은 자바 코드가 들어가기 시작하는 부분인
<%
이 부분인데..모가 잘못되었는지 모르겠네요..
도움 좀 주세요.

mirr의 이미지

Perl cgi를 php로 포팅중입니다. 이 함수좀 도와주세요..

[code:1]
function DECODE {

if ($ENV{'REQUEST_METHOD'} eq "POST") {
if ($ENV{'CONTENT_LENGTH'} > 51200) { Error("내용이 너무 깁니다."); }
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else { $buffer = $ENV{'QUERY_STRING'}; }
@pairs = split(/&/, $buffer);
foreach (@pairs) {
($name,$value) = split(/=/, $_);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

kknd345의 이미지

세마포어 사용할려고 하는데요.

프로세스 10개가 동시에 공유메모리를 이용하는 프로그래밍을 하고 있는데요.

여기서 10개의 프로세스가 하나의 세마포어(단일)만을 가지고 프로그래밍 할려고 하니 버벅 될거 같아서 세마포어 배열을 이용할려고 하는데 혹시 잘 아시는 분 계시나요?

제 코드에서 세마포어 부분만 뽑아서 아래에 올려 놓았는데... 레퍼런스만 보고 프로그래밍 하기가 어렵네요.(영어바보라서 ㅜㅜ) 한글로 된 책은 하나의 세마포어 사용에 국한 되어 있어서 이용하기 어렵고요.

kimyh의 이미지

ftp로 자동 백업하는 스크립트좀 봐 주세요.

cron을 이용하여 일정시간에 디비를 백업하여 저장한후 다른 서버에 자동으로 전송되게 하는 스크립트입니다.

제가 스크립트를 잘 몰라서 여기저기 삽질한끝에 만들었는데
상대방 서버에 접속은되는데 새로 생성된 백업화일을 가져오지 못합니다.

아래는 관련 스크립트입니다.

#!/bin/sh
/usr/bin/ftp -dn << EOL;
open domain.com
quote user abcde
quote pass xxxxx
lcd /home/aaaaa
cd /home/abcde
asc
get *.sql
quit
EOL

아래는 실행결고입니다.
[root@xxxx aaaa]# ./jobftpget.sh

오네테르의 이미지

쉘 스크립트에서는 종료 제어가 불가능하나요?

종료제어라는 말을 제대로 쓴건지는 모르겠지만...^^

쉘스크립트로 사용자 현황을 출력하고
메시지를 전송하는 간단한 코드를 짜고 있는데

talk와 write를 하고 나서 종료 시그널을 보내니깐
talk뿐만 아니라 처음 talk를 실행했던
프로세스까지 한꺼번에 종료
되더군요

하지만 상대쪽에서 먼저 종료를 하면
제쪽은 talk 프로세스만 종료되고
처음 메뉴로 돌아오게 되고 말이죠..

c로 fork()를 통해 프로세스를 제어할 수도 있겠지만
쉘로 할 수 있는 방법은 없는지 알고 싶네요..

rpgame의 이미지

동적할당시 이상한 segmentation fault입니다.

구조체(process_code_block)를 포함하는 queue(pcbQ)를 관리하는 부분입니다
초기화한후 삽입하는 부분에서 segmentation fault가 발생합니다.(리눅스)

다음 코드는 해당부분만 발췌한것입니다.
큐가 구조체를 data로 갖고 있어 head pointer를 이용해 큐에 구조체를 삽입하려합니다
insertQ(pcbQ *head, process_code_block *pcb_temp);
insertQ(pcbQ *head, process_code_block *pcb_temp2);
위와 같이 두개의 임시 data를 만들어서 테스트해보았습니다.
두번째 insertQ가 수행될 때, segmentation fault가 발생하고 디버깅해본 결과가 좀 이상합니다.ㅠㅠ

opnc의 이미지

가상메모리를 사용하지 않을 경우의 공유 메모리 개념이 궁금해

공유메모리 관련하여 질문드릴게 있어요..

결정적인 시간재현 성능에 악영향을 미친다는 이유로 RTOS 들중엔 가상메모리를 사용하지 않는 제품들이 있지요??

가상메모리를 사용하지 않을 경우 공유메모리는 무엇을 의미하는지요??

전역변수를 선언하고 동기화 처리하면, 이게 곧 공유메모리가 되는것 아닌지 궁금하네요..

puaxx의 이미지

Broken pipe. 이거 왜 나오는지...

Program received signal SIGPIPE, Broken pipe.
0x000000323fac5e94 in send () from /lib64/tls/libc.so.6

프로그램 잘 돌아가다가 어느순간에 이런 메시지가 뜨면서 프로세스가 죽네요..

미치겠네요.

bird0303의 이미지

0번 프로세스는 커널쓰레드를 최대 2개만 만들수 있나요?

첨에 init() 함수를 이용한 쓰레드를 생성시키고 부모 프로세스는 나머지 커널 초기화 작업을 수행하는데요,,
init() 함수로 생성된 쓰레드 안에서 kernel_thread()를 이용해 여러개를 생성하면 모두 생성이 됩니다.
그러나 0번 프로세스에서 kernel_thread()를 이용해 2개 이상 생성하려고 하면 두개까지는 생성이 되는데 세번째 kernel_thread() 부터는 실행이 안되네요.

0번 프로세스는 쓰레드를 두개까지밖에 못만드나요?

페이지

프로그래밍 QnA 구독하기