프로그래밍 QnA + 설치 및 활용 QnA

koain의 이미지

나빌레라 님의 "도전 임베디드 OS 만들기" 에 관한 질문입니다.

책의 내용은 EZ-X5 보드를 기준으로 진행되는데요

qemu 말고 실제 보드를 이용해보고 싶어서 알아보고 있는데

EX-X5보드와 같은 PXA-255 프로세서를 이용하는 HBE-EMPOS 2 를 이용해도 무리가 없을런지요

책 내용을 따라가기엔 다른 부분이 많을까요?

많이 다르다면 초보자가 HBE-EMPOS 2 메뉴얼을 보며 따라갈 수 있을런지요...

teseonic의 이미지

windbg Page @ too large to be in the dump file. 무슨 문제죠?

윈도우 덤프를 올렸는데 아래처럼 뜨네요.
Page @ too large to be in the dump file.
무슨 문제인가요?

k1d0bus3의 이미지

하드웨어 가상 머신, 요즘은 뭐가 좋습니까?

기준은..
호스트OS:리눅스(우분투), 게스트OS:윈도우, 가격:무료.
요즘 좋은 제품 뭐가 있나요?

k1d0bus3의 이미지

바이너리파일이 32bit용 인지 64bit용 인지 어떻게 확인하죠?

32bit 시스템에 설치된 부트로더가 32bit용 syslinux인지, 64bit용 syslinux인지 모르겠습니다.
(사실 syslinux가 32bit용, 64bit용 따로 있는지 조차도 모르겠습니다.)

# file ldlinux.sys
ldlinux.sys: SYSLINUX loader (version 3.83)

file 명령어도 안통하는데, 어떻게 확인해야 하죠?
phi의 이미지

c언어 malloc()을 이용한 배열 생성 관련 질문입니다.

c 기초 플러스로 c언어를 공부중입니다.
이 책의 12장에서

double *ptd;
ptd = (double *) malloc(30*sizeof(double));

이렇게 하면 ptd가 double형 값 30개를 가지는 블록을 가리키는 포인터가 아니라,
하나의 double형 값을 가리키는 포인터로 선언 된 것에 주목하라고 되어 있습니다.

이후 설명으로 ptd가 블록의 첫번째 원소를 가리키도록 설정되었고, ptd[0]으로 그 블록의 첫번째 원소에 접근할 수 있다고 합니다.

그런데 맨 처음 ptd를 double형 포인터로 선언하면 그 ptd에는 그 포인터가 가리킬 메모리의 주소가 대입되어야 하는거 아닌가요?

(double)이걸로 변수의 유형을 임시로 변경해서 사용하는 방법은 앞에서 언급한 적이 있어서 어느정도 알고는 있는데,
(double *)이렇게 포인터와 관련해서 사용하는건 처음이라 잘 이해가 안되는 것 같습니다.

rlj1202의 이미지

64bit dll 인젝팅시 문제점

SetWindowsHookEx함수를 이용해서 프로세스에 dll을 인젝트하는데, 구글 크롬과 스팀(Steam), 스윙 브라우저 등의 프로그램에 인젝트 될 때에 해당 프로그램이 프리징이 되더군요. 또 이클립스랑 프로세스 해커(Process Hacker), 파일 탐색기는 아무런 문제가 없어 공통점이 무얼까 찾아보니 비트수의 차이였습니다. 프리징된 프로그램 모두 32비트 이미지 이고 나머지 정상작동한 프로그램은 64비트 이미지 이였습니다.

그러니까, 32비트로 만든 dll은 32비트 프로세스에서만 작동하고 64비트로 만든 dll은 64비트 프로세스에서만 정상 작동한다는 얘긴데 어떻게 해결해야할지 모르겠네요.

부탁드립니다.

lkh의 이미지

iptime 관리자 페이지

제가 iptime 공유기에 접속해서

관리자페이지에서 이름(ssid)을

보니까 폰에 와이파이 설정 창에서

접속된 와이파이 이름이랑 다른데

이게 어떻게 된거죠?

혹시나 해서 이름을 바꿔보니

현재 접속된 와이파이가 아닌

다른 와이파이의 이름이 바뀌네요.

이게 어떻게 된거죠?

192.168.0.1로 들어가면

현재 접속된 와이파이의

관리자 페이지가 나오는거 아닌가요?

lkh의 이미지

mitm

http://subinkim.com/1682
이렇게 여러가지 정보 빼내는게 가능한가요?
mitm 해도 운좋게 개인정보 올려놓은 페북 세션같은게 걸려야 가능하지 않나요?

yann8166의 이미지

Byte 데이터로 직렬화를 하는 이유??

C#프로그래밍을 공부중에 의문이 생겼습니다.

바로, 직렬화인데요.

아마 C# 뿐 아니라 다른 언어에서도 공통되는 부분일 겁니다.

String -> byte[]
int -> byte[]

이와 같이 직렬화를 수행하는 이유가 궁금합니다.

예를들어

String txt = "hello" 라는 문자열이 있다면

실제 메모리상에는 "hello"가 들어간게 아니라 각 문자가 문자코드로 변환된 숫자값
(아스키코드표현이라면) h = 68 e = 65 l = 6c o = 6f로 저장이되어서
0x68656c6c6f 로 저장되어 있을 텐데

이걸 굳이 byte형으로 변환해도(직렬화) 결국은
0x68656c6c6f 로 똑같은 값이 저장 되는것 아닌가요?

qkqjem의 이미지

간헐적으로 사망하는 프로세스에 대한 GDB 활용방안 문의

OS : CentOs 6.4 64bit

고객사에서 상시 실행중이여야 하는 프로세스가 간헐적으로 끊기는 것을 확인하였습니다

현재 보안규정상 서버 PC를 직접 조작이 불가능하여 VPN을 통해 접근하고 있습니다.

core file size (blocks, -c) unlimited

이와 같이 설정을 하고 설정 당시 임의로 core dump를 작성하는 시그널을 보내어

종료후 core파일이 생성되는것을 확인하였습니다.

문제는 실제 운영중 프로세스 daed 발생시에는 core파일이 생성되지 않습니다.

dead가 발생후에 back trace를 통해 소스중 어디에서 문제가 발생하였는지 추적해야 하는데

VPN의 연결 상태가 좋지 못하여 문제가 발생할때까지 SSH 터미널 연결이 유지되지 않습니다.

이런 이유로 아래와 같은 방법을 사용하려 합니다.

# gdb targetA "PID값"

(gdb) set logging on

(gdb) handle SIGPIPE nostop

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기