보통 디버깅은 gdb나 개발툴(IDE, SDT 등)에서 제공하는 디버거를 사용하게 된다. 하지만 때로는 단순히 출력문을 이용해서 디버깅을 진행하기도 한다. (간단한 확인 또는 디버깅 환경이 없을 경우)

 

단순히 printf("here!!\r\n"); 요렇게 쓰거나 아니면 printf("who are you -> %d\r\n", trouble_make); 요렇게 쓸 수도 있다.

하지만 약간 아쉽다. 명색이 디버깅 출력문인데, 너무 정보가 없는 것 같다.

 

좀 더 많은 정보를 포함하면서, 쓰기 쉬운 assert 함수를 만들어보자.

 

void _my_assert(bool condition,			// 조건
				 char const* message,	// 출력문
                 char const* func,		// 함수명
                 char const* file,		// 파일명
                 int line)				// 라인
{
   if (!condition)
   {
      fprintf(stderr, "Assert: %s, in %s (%s:%i)\r\n", message, func, file, line);
      exit(0);
   }
}

#define my_assert(condition, message)               \
   _my_assert(condition, message, __func__, __FILE__, __LINE__)
   
int main()
{
	int *a = calloc(1, sizeof(int));
    my_assert(a, "why u are NULL...");
    
    return 0;
}

 

음.. 위에 코드가 좀 깨지는구나. 코드 에디트 창에서는 깔끔하게 썼는데 ㅋㅋ

 

이런 코드 잘 만들어서 활용하면 유용할 듯 하다.

'C' 카테고리의 다른 글

길이가 0인 배열  (0) 2025.04.15
Object file..  (0) 2025.01.14
세그먼트  (0) 2023.04.13
Why is the number of array elements smaller than minus value?  (0) 2023.04.06
array length as parameter  (0) 2022.11.09

평소에 마크다운으로 confluence 를 작성하는데, 내가 평소에 잘 안쓰는? 혹은 잘 모르는 문법들을 아래에 정리해본다.

기울어진 글씨

*동해물과 백두산이 마르고 닳도록* -> 동해물과 백두산이 마르고 닳도록

취소선

~동해물과 백두산이 마르고 닳도록\ -> 동해물과 백두산이 마르고 닳도록

하이라이트 (Tistory에서 작동 안하는 듯?)

==동해물과 백두산이 마르고 닳도록==\ -> ==동해물과 백두산이 마르고 닳도록==

인용문

> 동해물과 백두산이 마르고 닳도록 ->

동해물과 백두산이 마르고 닳도록

code

```c (해당 언어)
printf("Hello, world!\n");
```

printf("Hello, world!\n");

리스트

- 동해물과 백두산이 마르고 닳도록
- 하느님이 보우하사 우리나라 만세

  • 동해물과 백두산이 마르고 닳도록
    • 하느님이 보우하사 우리나라 만세

체크 리스트

- [ ] 동해물과 백두산이 마르고 닳도록
- [X] 하느님이 보우하사 우리나라 만세

  • 동해물과 백두산이 마르고 닳도록
    • 하느님이 보우하사 우리나라 만세

숫자 리스트

\1. 동해물과 백두산이 마르고 닳도록
\2. 하느님이 보우하사 우리나라 만세

  1. 동해물과 백두산이 마르고 닳도록
  2. 하느님이 보우하사 우리나라 만세

수평선

---

최근에 갤럭시 워치가 업데이트 된 이후로 불편한 점이 생겼다.

기존에는 운동중일 때, 워치 메인화면에 현재 운동하고 있는 운동 모드의 아이콘이 있었다. 그래서 메인 시계 화면에서도 쉽게 해당 운동의 화면으로 전환이 가능했다. 하지만 업데이트 이후에 운동 중인 모드의 아이콘이 사라졌고, 운동 화면으로 전환하려면 워치의 삼성헬스 앱에 들어가거나, 타일에 현재 운동중인 모드를 선택해야 했다.

 

스마트 워치가 스마트하지 않다

 

워치와 폰 설정을 아무리 찾아봐도 저 녹색 아이콘을 활성화 하는 방법을 찾을 수 없었다. 하지만 구글에 검색해보니, 해결 방법이 있었고, 해당 변화는 Google Ware OS 5.0의 알림 정책 변경으로 인해 비롯되었다고 한다.

출처: https://r1.community.samsung.com/t5/%EC%86%90%EC%89%AC%EC%9A%B4-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95/%EA%B0%A4%EB%9F%AD%EC%8B%9C-%EC%9B%8C%EC%B9%98-4-5-6-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EC%9A%B4%EB%8F%99-%EC%A4%91-%EC%9A%B4%EB%8F%99-%ED%99%94%EB%A9%B4%EC%9D%B4-%EC%9C%A0%EC%A7%80%EB%90%98%EC%A7%80-%EC%95%8A%EA%B3%A0-%EC%8B%9C%EA%B3%84-%ED%99%94%EB%A9%B4%EC%9C%BC%EB%A1%9C-%EC%A0%84%ED%99%98%EB%90%A9%EB%8B%88%EB%8B%A4/ba-p/30688419

 

갤럭시 워치 4/5/6 시리즈, 운동 중 운동 화면이 유지되지 않고 시계 화면으로 전환됩니다.

갤럭시 워치의 Google Wear OS 5.0의 알림 정책이 변경되었습니다. 갤럭시 워치의 삼성 헬스 앱 알림 설정이 비활성화(OFF)로 되어있는 경우, 운동 중 운동 화면에서 시계 화면으로 전환되며 시계 화면

r1.community.samsung.com

 

먼저 폰에서 갤럭시 워치 설정을 위해 Wearable 앱을 들어간다.

첫 화면에서 워치 설정 -> 알림 -> 앱 알림 -> 삼성 헬스 활성화

 

 

워치의 설정에서 삼성 헬스의 알림을 허용한다.

설정 -> 애플리케이션 -> 앱 목록 -> 삼성 헬스 -> 권한 -> 알림 -> 허용됨

 

한번 운동을 켜고 메인화면으로 돌아가서 확인해본다. 드디어 생겼다. 와.. 이거 안되서 얼마나 불편했던가.. 위 링크의 작성자 (아무래도 서포터즈인 듯 한데) 님께 정말 감사의 말씀 드리고 싶다.

+ Recent posts